brintos

brintos / llvm-project-archived public Read only

0
0
Text · 95.3 KiB · 15d6748 Raw
1309 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=aarch64 %s | FileCheck --check-prefixes=CHECK,CHECK-NOFP16 %s3; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=aarch64 -mattr=+fullfp16 %s | FileCheck --check-prefixes=CHECK,CHECK-FP16 %s4; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -mtriple=aarch64 -mattr=+fullfp16,+bf16 %s | FileCheck --check-prefixes=CHECK,CHECK-FP16,CHECK-BF16 %s5 6target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"7 8define void @ext() {9; CHECK-LABEL: 'ext'10; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r0 = sext i1 poison to i811; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r1 = zext i1 poison to i812; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r2 = sext i1 poison to i1613; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r3 = zext i1 poison to i1614; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r4 = sext i1 poison to i3215; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r5 = zext i1 poison to i3216; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r6 = sext i1 poison to i6417; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r7 = zext i1 poison to i6418; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r9 = sext i8 poison to i1619; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r10 = zext i8 poison to i1620; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r11 = sext i8 poison to i3221; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r12 = zext i8 poison to i3222; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r13 = sext i8 poison to i6423; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r14 = zext i8 poison to i6424; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r17 = sext i16 poison to i3225; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r18 = zext i16 poison to i3226; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r19 = sext i16 poison to i6427; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r20 = zext i16 poison to i6428; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r24 = sext i32 poison to i6429; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r25 = zext i32 poison to i6430; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i8i16 = sext <2 x i8> poison to <2 x i16>31; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i8i16 = zext <2 x i8> poison to <2 x i16>32; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i8i32 = sext <2 x i8> poison to <2 x i32>33; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i8i32 = zext <2 x i8> poison to <2 x i32>34; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i8i64 = sext <2 x i8> poison to <2 x i64>35; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i8i64 = zext <2 x i8> poison to <2 x i64>36; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i16i32 = sext <2 x i16> poison to <2 x i32>37; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i16i32 = zext <2 x i16> poison to <2 x i32>38; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i16i64 = sext <2 x i16> poison to <2 x i64>39; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i16i64 = zext <2 x i16> poison to <2 x i64>40; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i32i64 = sext <2 x i32> poison to <2 x i64>41; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z2i32i64 = zext <2 x i32> poison to <2 x i64>42; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i8i16 = sext <4 x i8> poison to <4 x i16>43; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z4i8i16 = zext <4 x i8> poison to <4 x i16>44; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i8i32 = sext <4 x i8> poison to <4 x i32>45; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z4i8i32 = zext <4 x i8> poison to <4 x i32>46; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s4i8i64 = sext <4 x i8> poison to <4 x i64>47; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %z4i8i64 = zext <4 x i8> poison to <4 x i64>48; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i16i32 = sext <4 x i16> poison to <4 x i32>49; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z4i16i32 = zext <4 x i16> poison to <4 x i32>50; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s4i16i64 = sext <4 x i16> poison to <4 x i64>51; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %z4i16i64 = zext <4 x i16> poison to <4 x i64>52; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s4i32i64 = sext <4 x i32> poison to <4 x i64>53; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %z4i32i64 = zext <4 x i32> poison to <4 x i64>54; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8i8i16 = sext <8 x i8> poison to <8 x i16>55; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z8i8i16 = zext <8 x i8> poison to <8 x i16>56; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s8i8i32 = sext <8 x i8> poison to <8 x i32>57; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %z8i8i32 = zext <8 x i8> poison to <8 x i32>58; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %s8i8i64 = sext <8 x i8> poison to <8 x i64>59; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %z8i8i64 = zext <8 x i8> poison to <8 x i64>60; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s8i16i32 = sext <8 x i16> poison to <8 x i32>61; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %z8i16i32 = zext <8 x i16> poison to <8 x i32>62; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %s8i16i64 = sext <8 x i16> poison to <8 x i64>63; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %z8i16i64 = zext <8 x i16> poison to <8 x i64>64; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %s8i32i64 = sext <8 x i32> poison to <8 x i64>65; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %z8i32i64 = zext <8 x i32> poison to <8 x i64>66; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s16i8i16 = sext <16 x i8> poison to <16 x i16>67; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %z16i8i16 = zext <16 x i8> poison to <16 x i16>68; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %s16i8i32 = sext <16 x i8> poison to <16 x i32>69; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %z16i8i32 = zext <16 x i8> poison to <16 x i32>70; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %s16i8i64 = sext <16 x i8> poison to <16 x i64>71; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %z16i8i64 = zext <16 x i8> poison to <16 x i64>72; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %s16i16i32 = sext <16 x i16> poison to <16 x i32>73; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %z16i16i32 = zext <16 x i16> poison to <16 x i32>74; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %s16i16i64 = sext <16 x i16> poison to <16 x i64>75; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %z16i16i64 = zext <16 x i16> poison to <16 x i64>76; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %s16i32i64 = sext <16 x i32> poison to <16 x i64>77; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %z16i32i64 = zext <16 x i32> poison to <16 x i64>78; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void79;80  %r0 = sext i1 poison to i881  %r1 = zext i1 poison to i882  %r2 = sext i1 poison to i1683  %r3 = zext i1 poison to i1684  %r4 = sext i1 poison to i3285  %r5 = zext i1 poison to i3286  %r6 = sext i1 poison to i6487  %r7 = zext i1 poison to i6488  %r9 = sext i8 poison to i1689  %r10 = zext i8 poison to i1690  %r11 = sext i8 poison to i3291  %r12 = zext i8 poison to i3292  %r13 = sext i8 poison to i6493  %r14 = zext i8 poison to i6494  %r17 = sext i16 poison to i3295  %r18 = zext i16 poison to i3296  %r19 = sext i16 poison to i6497  %r20 = zext i16 poison to i6498  %r24 = sext i32 poison to i6499  %r25 = zext i32 poison to i64100 101  %s2i8i16 = sext <2 x i8> poison to <2 x i16>102  %z2i8i16 = zext <2 x i8> poison to <2 x i16>103  %s2i8i32 = sext <2 x i8> poison to <2 x i32>104  %z2i8i32 = zext <2 x i8> poison to <2 x i32>105  %s2i8i64 = sext <2 x i8> poison to <2 x i64>106  %z2i8i64 = zext <2 x i8> poison to <2 x i64>107  %s2i16i32 = sext <2 x i16> poison to <2 x i32>108  %z2i16i32 = zext <2 x i16> poison to <2 x i32>109  %s2i16i64 = sext <2 x i16> poison to <2 x i64>110  %z2i16i64 = zext <2 x i16> poison to <2 x i64>111  %s2i32i64 = sext <2 x i32> poison to <2 x i64>112  %z2i32i64 = zext <2 x i32> poison to <2 x i64>113 114  %s4i8i16 = sext <4 x i8>  poison to <4 x i16>115  %z4i8i16 = zext <4 x i8>  poison to <4 x i16>116  %s4i8i32 = sext <4 x i8>  poison to <4 x i32>117  %z4i8i32 = zext <4 x i8>  poison to <4 x i32>118  %s4i8i64 = sext <4 x i8>  poison to <4 x i64>119  %z4i8i64 = zext <4 x i8>  poison to <4 x i64>120  %s4i16i32 = sext <4 x i16> poison to <4 x i32>121  %z4i16i32 = zext <4 x i16> poison to <4 x i32>122  %s4i16i64 = sext <4 x i16> poison to <4 x i64>123  %z4i16i64 = zext <4 x i16> poison to <4 x i64>124  %s4i32i64 = sext <4 x i32> poison to <4 x i64>125  %z4i32i64 = zext <4 x i32> poison to <4 x i64>126 127  %s8i8i16 = sext <8 x i8>  poison to <8 x i16>128  %z8i8i16 = zext <8 x i8>  poison to <8 x i16>129  %s8i8i32 = sext <8 x i8>  poison to <8 x i32>130  %z8i8i32 = zext <8 x i8>  poison to <8 x i32>131  %s8i8i64 = sext <8 x i8>  poison to <8 x i64>132  %z8i8i64 = zext <8 x i8>  poison to <8 x i64>133  %s8i16i32 = sext <8 x i16> poison to <8 x i32>134  %z8i16i32 = zext <8 x i16> poison to <8 x i32>135  %s8i16i64 = sext <8 x i16> poison to <8 x i64>136  %z8i16i64 = zext <8 x i16> poison to <8 x i64>137  %s8i32i64 = sext <8 x i32> poison to <8 x i64>138  %z8i32i64 = zext <8 x i32> poison to <8 x i64>139 140  %s16i8i16 = sext <16 x i8>  poison to <16 x i16>141  %z16i8i16 = zext <16 x i8>  poison to <16 x i16>142  %s16i8i32 = sext <16 x i8>  poison to <16 x i32>143  %z16i8i32 = zext <16 x i8>  poison to <16 x i32>144  %s16i8i64 = sext <16 x i8>  poison to <16 x i64>145  %z16i8i64 = zext <16 x i8>  poison to <16 x i64>146  %s16i16i32 = sext <16 x i16> poison to <16 x i32>147  %z16i16i32 = zext <16 x i16> poison to <16 x i32>148  %s16i16i64 = sext <16 x i16> poison to <16 x i64>149  %z16i16i64 = zext <16 x i16> poison to <16 x i64>150  %s16i32i64 = sext <16 x i32> poison to <16 x i64>151  %z16i32i64 = zext <16 x i32> poison to <16 x i64>152  ret void153}154 155define void @trunc() {156; CHECK-LABEL: 'trunc'157; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r8 = trunc i8 poison to i1158; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r15 = trunc i16 poison to i1159; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r16 = trunc i16 poison to i8160; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r21 = trunc i32 poison to i1161; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r22 = trunc i32 poison to i8162; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r23 = trunc i32 poison to i16163; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r26 = trunc i64 poison to i1164; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r27 = trunc i64 poison to i8165; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r28 = trunc i64 poison to i16166; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r29 = trunc i64 poison to i32167; CHECK-NEXT:  Cost Model: Found costs of 0 for: %s2i8i16 = trunc <2 x i16> poison to <2 x i8>168; CHECK-NEXT:  Cost Model: Found costs of 0 for: %s2i8i32 = trunc <2 x i32> poison to <2 x i8>169; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i8i64 = trunc <2 x i64> poison to <2 x i8>170; CHECK-NEXT:  Cost Model: Found costs of 0 for: %s2i16i32 = trunc <2 x i32> poison to <2 x i16>171; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i16i64 = trunc <2 x i64> poison to <2 x i16>172; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s2i32i64 = trunc <2 x i64> poison to <2 x i32>173; CHECK-NEXT:  Cost Model: Found costs of 0 for: %s4i8i16 = trunc <4 x i16> poison to <4 x i8>174; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i8i32 = trunc <4 x i32> poison to <4 x i8>175; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s4i8i64 = trunc <4 x i64> poison to <4 x i8>176; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i16i32 = trunc <4 x i32> poison to <4 x i16>177; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s4i16i64 = trunc <4 x i64> poison to <4 x i16>178; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s4i32i64 = trunc <4 x i64> poison to <4 x i32>179; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8i8i16 = trunc <8 x i16> poison to <8 x i8>180; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s8i8i32 = trunc <8 x i32> poison to <8 x i8>181; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %s8i8i64 = trunc <8 x i64> poison to <8 x i8>182; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8i16i32 = trunc <8 x i32> poison to <8 x i16>183; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s8i16i64 = trunc <8 x i64> poison to <8 x i16>184; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s8i32i64 = trunc <8 x i64> poison to <8 x i32>185; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s16i8i16 = trunc <16 x i16> poison to <16 x i8>186; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %s16i8i32 = trunc <16 x i32> poison to <16 x i8>187; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %s16i8i64 = trunc <16 x i64> poison to <16 x i8>188; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %s16i16i32 = trunc <16 x i32> poison to <16 x i16>189; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %s16i16i64 = trunc <16 x i64> poison to <16 x i16>190; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %s16i32i64 = trunc <16 x i64> poison to <16 x i32>191; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void192;193  %r8 = trunc i8 poison to i1194  %r15 = trunc i16 poison to i1195  %r16 = trunc i16 poison to i8196  %r21 = trunc i32 poison to i1197  %r22 = trunc i32 poison to i8198  %r23 = trunc i32 poison to i16199  %r26 = trunc i64 poison to i1200  %r27 = trunc i64 poison to i8201  %r28 = trunc i64 poison to i16202  %r29 = trunc i64 poison to i32203 204  %s2i8i16 = trunc <2 x i16> poison to <2 x i8>205  %s2i8i32 = trunc <2 x i32> poison to <2 x i8>206  %s2i8i64 = trunc <2 x i64> poison to <2 x i8>207  %s2i16i32 = trunc <2 x i32> poison to <2 x i16>208  %s2i16i64 = trunc <2 x i64> poison to <2 x i16>209  %s2i32i64 = trunc <2 x i64> poison to <2 x i32>210 211  %s4i8i16 = trunc <4 x i16> poison to <4 x i8>212  %s4i8i32 = trunc <4 x i32> poison to <4 x i8>213  %s4i8i64 = trunc <4 x i64> poison to <4 x i8>214  %s4i16i32 = trunc <4 x i32> poison to <4 x i16>215  %s4i16i64 = trunc <4 x i64> poison to <4 x i16>216  %s4i32i64 = trunc <4 x i64> poison to <4 x i32>217 218  %s8i8i16 = trunc <8 x i16> poison to <8 x i8>219  %s8i8i32 = trunc <8 x i32> poison to <8 x i8>220  %s8i8i64 = trunc <8 x i64> poison to <8 x i8>221  %s8i16i32 = trunc <8 x i32> poison to <8 x i16>222  %s8i16i64 = trunc <8 x i64> poison to <8 x i16>223  %s8i32i64 = trunc <8 x i64> poison to <8 x i32>224 225  %s16i8i16 = trunc <16 x i16> poison to <16 x i8>226  %s16i8i32 = trunc <16 x i32> poison to <16 x i8>227  %s16i8i64 = trunc <16 x i64> poison to <16 x i8>228  %s16i16i32 = trunc <16 x i32> poison to <16 x i16>229  %s16i16i64 = trunc <16 x i64> poison to <16 x i16>230  %s16i32i64 = trunc <16 x i64> poison to <16 x i32>231  ret void232}233 234define i32 @casts_no_users() {235; CHECK-LABEL: 'casts_no_users'236; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r30 = fptoui float poison to i1237; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r31 = fptosi float poison to i1238; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r32 = fptoui float poison to i8239; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r33 = fptosi float poison to i8240; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r34 = fptoui float poison to i16241; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r35 = fptosi float poison to i16242; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r36 = fptoui float poison to i32243; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r37 = fptosi float poison to i32244; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r38 = fptoui float poison to i64245; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r39 = fptosi float poison to i64246; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r40 = fptoui double poison to i1247; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r41 = fptosi double poison to i1248; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r42 = fptoui double poison to i8249; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r43 = fptosi double poison to i8250; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r44 = fptoui double poison to i16251; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r45 = fptosi double poison to i16252; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r46 = fptoui double poison to i32253; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r47 = fptosi double poison to i32254; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r48 = fptoui double poison to i64255; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r49 = fptosi double poison to i64256; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r50 = sitofp i1 poison to float257; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r51 = uitofp i1 poison to float258; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r52 = sitofp i1 poison to double259; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r53 = uitofp i1 poison to double260; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r54 = sitofp i8 poison to float261; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r55 = uitofp i8 poison to float262; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r56 = sitofp i8 poison to double263; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r57 = uitofp i8 poison to double264; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r58 = sitofp i16 poison to float265; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r59 = uitofp i16 poison to float266; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r60 = sitofp i16 poison to double267; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r61 = uitofp i16 poison to double268; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r62 = sitofp i32 poison to float269; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r63 = uitofp i32 poison to float270; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r64 = sitofp i32 poison to double271; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r65 = uitofp i32 poison to double272; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r66 = sitofp i64 poison to float273; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r67 = uitofp i64 poison to float274; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r68 = sitofp i64 poison to double275; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r69 = uitofp i64 poison to double276; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r80 = fptrunc double poison to float277; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r81 = fptrunc <2 x double> poison to <2 x float>278; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r82 = fptrunc <4 x double> poison to <4 x float>279; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r83 = fptrunc <8 x double> poison to <8 x float>280; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r84 = fptrunc <16 x double> poison to <16 x float>281; CHECK-NEXT:  Cost Model: Found costs of 1 for: %truncf64f16 = fptrunc double poison to half282; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %truncv2f64f16 = fptrunc <2 x double> poison to <2 x half>283; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %truncv4f64f16 = fptrunc <4 x double> poison to <4 x half>284; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f64f16 = fptrunc <8 x double> poison to <8 x half>285; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f64f16 = fptrunc <16 x double> poison to <16 x half>286; CHECK-NEXT:  Cost Model: Found costs of 1 for: %truncv32f16 = fptrunc float poison to half287; CHECK-NEXT:  Cost Model: Found costs of 1 for: %truncv2f32f16 = fptrunc <2 x float> poison to <2 x half>288; CHECK-NEXT:  Cost Model: Found costs of 1 for: %truncv4f32f16 = fptrunc <4 x float> poison to <4 x half>289; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f32f16 = fptrunc <8 x float> poison to <8 x half>290; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f32f16 = fptrunc <16 x float> poison to <16 x half>291; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r85 = fpext float poison to double292; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r86 = fpext <2 x float> poison to <2 x double>293; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r87 = fpext <4 x float> poison to <4 x double>294; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r88 = fpext <8 x float> poison to <8 x double>295; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r89 = fpext <16 x float> poison to <16 x double>296; CHECK-NEXT:  Cost Model: Found costs of 1 for: %extf16f32 = fpext half poison to float297; CHECK-NEXT:  Cost Model: Found costs of 1 for: %extv2f16f32 = fpext <2 x half> poison to <2 x float>298; CHECK-NEXT:  Cost Model: Found costs of 1 for: %extv4f16f32 = fpext <4 x half> poison to <4 x float>299; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f32 = fpext <8 x half> poison to <8 x float>300; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f32 = fpext <16 x half> poison to <16 x float>301; CHECK-NEXT:  Cost Model: Found costs of 1 for: %extf16f64 = fpext half poison to double302; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv2f16f64 = fpext <2 x half> poison to <2 x double>303; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %extv4f16f64 = fpext <4 x half> poison to <4 x double>304; CHECK-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f64 = fpext <8 x half> poison to <8 x double>305; CHECK-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f64 = fpext <16 x half> poison to <16 x double>306; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r90 = fptoui <2 x float> poison to <2 x i1>307; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r91 = fptosi <2 x float> poison to <2 x i1>308; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r92 = fptoui <2 x float> poison to <2 x i8>309; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r93 = fptosi <2 x float> poison to <2 x i8>310; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r94 = fptoui <2 x float> poison to <2 x i16>311; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r95 = fptosi <2 x float> poison to <2 x i16>312; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r96 = fptoui <2 x float> poison to <2 x i32>313; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r97 = fptosi <2 x float> poison to <2 x i32>314; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r98 = fptoui <2 x float> poison to <2 x i64>315; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r99 = fptosi <2 x float> poison to <2 x i64>316; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r100 = fptoui <2 x double> poison to <2 x i1>317; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r101 = fptosi <2 x double> poison to <2 x i1>318; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r102 = fptoui <2 x double> poison to <2 x i8>319; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r103 = fptosi <2 x double> poison to <2 x i8>320; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r104 = fptoui <2 x double> poison to <2 x i16>321; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r105 = fptosi <2 x double> poison to <2 x i16>322; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r106 = fptoui <2 x double> poison to <2 x i32>323; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r107 = fptosi <2 x double> poison to <2 x i32>324; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r108 = fptoui <2 x double> poison to <2 x i64>325; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r109 = fptosi <2 x double> poison to <2 x i64>326; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r110 = fptoui <4 x float> poison to <4 x i1>327; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r111 = fptosi <4 x float> poison to <4 x i1>328; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r112 = fptoui <4 x float> poison to <4 x i8>329; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r113 = fptosi <4 x float> poison to <4 x i8>330; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r114 = fptoui <4 x float> poison to <4 x i16>331; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r115 = fptosi <4 x float> poison to <4 x i16>332; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r116 = fptoui <4 x float> poison to <4 x i32>333; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r117 = fptosi <4 x float> poison to <4 x i32>334; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r118 = fptoui <4 x float> poison to <4 x i64>335; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r119 = fptosi <4 x float> poison to <4 x i64>336; CHECK-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r120 = fptoui <4 x double> poison to <4 x i1>337; CHECK-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r121 = fptosi <4 x double> poison to <4 x i1>338; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r122 = fptoui <4 x double> poison to <4 x i8>339; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r123 = fptosi <4 x double> poison to <4 x i8>340; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r124 = fptoui <4 x double> poison to <4 x i16>341; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r125 = fptosi <4 x double> poison to <4 x i16>342; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r126 = fptoui <4 x double> poison to <4 x i32>343; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r127 = fptosi <4 x double> poison to <4 x i32>344; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r128 = fptoui <4 x double> poison to <4 x i64>345; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r129 = fptosi <4 x double> poison to <4 x i64>346; CHECK-NEXT:  Cost Model: Found costs of RThru:41 CodeSize:1 Lat:1 SizeLat:1 for: %r130 = fptoui <8 x float> poison to <8 x i1>347; CHECK-NEXT:  Cost Model: Found costs of RThru:41 CodeSize:1 Lat:1 SizeLat:1 for: %r131 = fptosi <8 x float> poison to <8 x i1>348; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r132 = fptoui <8 x float> poison to <8 x i8>349; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r133 = fptosi <8 x float> poison to <8 x i8>350; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r134 = fptoui <8 x float> poison to <8 x i16>351; CHECK-NEXT:  Cost Model: Found costs of RThru:5 CodeSize:1 Lat:1 SizeLat:1 for: %r135 = fptosi <8 x float> poison to <8 x i16>352; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r136 = fptoui <8 x float> poison to <8 x i32>353; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r137 = fptosi <8 x float> poison to <8 x i32>354; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r138 = fptoui <8 x float> poison to <8 x i64>355; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r139 = fptosi <8 x float> poison to <8 x i64>356; CHECK-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r140 = fptoui <8 x double> poison to <8 x i1>357; CHECK-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r141 = fptosi <8 x double> poison to <8 x i1>358; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r142 = fptoui <8 x double> poison to <8 x i8>359; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r143 = fptosi <8 x double> poison to <8 x i8>360; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r144 = fptoui <8 x double> poison to <8 x i16>361; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r145 = fptosi <8 x double> poison to <8 x i16>362; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r146 = fptoui <8 x double> poison to <8 x i32>363; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r147 = fptosi <8 x double> poison to <8 x i32>364; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r148 = fptoui <8 x double> poison to <8 x i64>365; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r149 = fptosi <8 x double> poison to <8 x i64>366; CHECK-NEXT:  Cost Model: Found costs of RThru:83 CodeSize:1 Lat:1 SizeLat:1 for: %r150 = fptoui <16 x float> poison to <16 x i1>367; CHECK-NEXT:  Cost Model: Found costs of RThru:83 CodeSize:1 Lat:1 SizeLat:1 for: %r151 = fptosi <16 x float> poison to <16 x i1>368; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r152 = fptoui <16 x float> poison to <16 x i8>369; CHECK-NEXT:  Cost Model: Found costs of RThru:11 CodeSize:1 Lat:1 SizeLat:1 for: %r153 = fptosi <16 x float> poison to <16 x i8>370; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r154 = fptoui <16 x float> poison to <16 x i16>371; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r155 = fptosi <16 x float> poison to <16 x i16>372; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r156 = fptoui <16 x float> poison to <16 x i32>373; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r157 = fptosi <16 x float> poison to <16 x i32>374; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r158 = fptoui <16 x float> poison to <16 x i64>375; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r159 = fptosi <16 x float> poison to <16 x i64>376; CHECK-NEXT:  Cost Model: Found costs of RThru:87 CodeSize:1 Lat:1 SizeLat:1 for: %r160 = fptoui <16 x double> poison to <16 x i1>377; CHECK-NEXT:  Cost Model: Found costs of RThru:87 CodeSize:1 Lat:1 SizeLat:1 for: %r161 = fptosi <16 x double> poison to <16 x i1>378; CHECK-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:1 Lat:1 SizeLat:1 for: %r162 = fptoui <16 x double> poison to <16 x i8>379; CHECK-NEXT:  Cost Model: Found costs of RThru:23 CodeSize:1 Lat:1 SizeLat:1 for: %r163 = fptosi <16 x double> poison to <16 x i8>380; CHECK-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:1 SizeLat:1 for: %r164 = fptoui <16 x double> poison to <16 x i16>381; CHECK-NEXT:  Cost Model: Found costs of RThru:22 CodeSize:1 Lat:1 SizeLat:1 for: %r165 = fptosi <16 x double> poison to <16 x i16>382; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r166 = fptoui <16 x double> poison to <16 x i32>383; CHECK-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r167 = fptosi <16 x double> poison to <16 x i32>384; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r168 = fptoui <16 x double> poison to <16 x i64>385; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r169 = fptosi <16 x double> poison to <16 x i64>386; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r170 = uitofp <2 x i1> poison to <2 x float>387; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r171 = sitofp <2 x i1> poison to <2 x float>388; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r172 = uitofp <2 x i8> poison to <2 x float>389; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r173 = sitofp <2 x i8> poison to <2 x float>390; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r174 = uitofp <2 x i16> poison to <2 x float>391; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r175 = sitofp <2 x i16> poison to <2 x float>392; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r176 = uitofp <2 x i32> poison to <2 x float>393; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r177 = sitofp <2 x i32> poison to <2 x float>394; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r178 = uitofp <2 x i64> poison to <2 x float>395; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r179 = sitofp <2 x i64> poison to <2 x float>396; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r180 = uitofp <2 x i1> poison to <2 x double>397; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r181 = sitofp <2 x i1> poison to <2 x double>398; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r182 = uitofp <2 x i8> poison to <2 x double>399; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r183 = sitofp <2 x i8> poison to <2 x double>400; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r184 = uitofp <2 x i16> poison to <2 x double>401; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r185 = sitofp <2 x i16> poison to <2 x double>402; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r186 = uitofp <2 x i32> poison to <2 x double>403; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r187 = sitofp <2 x i32> poison to <2 x double>404; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r188 = uitofp <2 x i64> poison to <2 x double>405; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r189 = sitofp <2 x i64> poison to <2 x double>406; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r190 = uitofp <4 x i1> poison to <4 x float>407; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r191 = sitofp <4 x i1> poison to <4 x float>408; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r192 = uitofp <4 x i8> poison to <4 x float>409; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r193 = sitofp <4 x i8> poison to <4 x float>410; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r194 = uitofp <4 x i16> poison to <4 x float>411; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r195 = sitofp <4 x i16> poison to <4 x float>412; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r196 = uitofp <4 x i32> poison to <4 x float>413; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r197 = sitofp <4 x i32> poison to <4 x float>414; CHECK-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %r198 = uitofp <4 x i64> poison to <4 x float>415; CHECK-NEXT:  Cost Model: Found costs of RThru:18 CodeSize:1 Lat:1 SizeLat:1 for: %r199 = sitofp <4 x i64> poison to <4 x float>416; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r200 = uitofp <4 x i1> poison to <4 x double>417; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r201 = sitofp <4 x i1> poison to <4 x double>418; CHECK-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %r202 = uitofp <4 x i8> poison to <4 x double>419; CHECK-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %r203 = sitofp <4 x i8> poison to <4 x double>420; CHECK-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %r204 = uitofp <4 x i16> poison to <4 x double>421; CHECK-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %r205 = sitofp <4 x i16> poison to <4 x double>422; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r206 = uitofp <4 x i32> poison to <4 x double>423; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r207 = sitofp <4 x i32> poison to <4 x double>424; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r208 = uitofp <4 x i64> poison to <4 x double>425; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r209 = sitofp <4 x i64> poison to <4 x double>426; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r210 = uitofp <8 x i1> poison to <8 x float>427; CHECK-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r211 = sitofp <8 x i1> poison to <8 x float>428; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r212 = uitofp <8 x i8> poison to <8 x float>429; CHECK-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r213 = sitofp <8 x i8> poison to <8 x float>430; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r214 = uitofp <8 x i16> poison to <8 x float>431; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r215 = sitofp <8 x i16> poison to <8 x float>432; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r216 = uitofp <8 x i32> poison to <8 x float>433; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r217 = sitofp <8 x i32> poison to <8 x float>434; CHECK-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %r218 = uitofp <8 x i64> poison to <8 x float>435; CHECK-NEXT:  Cost Model: Found costs of RThru:36 CodeSize:1 Lat:1 SizeLat:1 for: %r219 = sitofp <8 x i64> poison to <8 x float>436; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r220 = uitofp <8 x i1> poison to <8 x double>437; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r221 = sitofp <8 x i1> poison to <8 x double>438; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r222 = uitofp <8 x i8> poison to <8 x double>439; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r223 = sitofp <8 x i8> poison to <8 x double>440; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r224 = uitofp <8 x i16> poison to <8 x double>441; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r225 = sitofp <8 x i16> poison to <8 x double>442; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r226 = uitofp <8 x i16> poison to <8 x double>443; CHECK-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %r227 = sitofp <8 x i16> poison to <8 x double>444; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r228 = uitofp <8 x i64> poison to <8 x double>445; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r229 = sitofp <8 x i64> poison to <8 x double>446; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r230 = uitofp <16 x i1> poison to <16 x float>447; CHECK-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r231 = sitofp <16 x i1> poison to <16 x float>448; CHECK-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r232 = uitofp <16 x i8> poison to <16 x float>449; CHECK-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r233 = sitofp <16 x i8> poison to <16 x float>450; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r234 = uitofp <16 x i16> poison to <16 x float>451; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r235 = sitofp <16 x i16> poison to <16 x float>452; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r236 = uitofp <16 x i32> poison to <16 x float>453; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r237 = sitofp <16 x i32> poison to <16 x float>454; CHECK-NEXT:  Cost Model: Found costs of RThru:72 CodeSize:1 Lat:1 SizeLat:1 for: %r238 = uitofp <16 x i64> poison to <16 x float>455; CHECK-NEXT:  Cost Model: Found costs of RThru:72 CodeSize:1 Lat:1 SizeLat:1 for: %r239 = sitofp <16 x i64> poison to <16 x float>456; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %r240 = uitofp <16 x i1> poison to <16 x double>457; CHECK-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %r241 = sitofp <16 x i1> poison to <16 x double>458; CHECK-NEXT:  Cost Model: Found costs of RThru:39 CodeSize:1 Lat:1 SizeLat:1 for: %r242 = uitofp <16 x i8> poison to <16 x double>459; CHECK-NEXT:  Cost Model: Found costs of RThru:39 CodeSize:1 Lat:1 SizeLat:1 for: %r243 = sitofp <16 x i8> poison to <16 x double>460; CHECK-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:1 SizeLat:1 for: %r244 = uitofp <16 x i16> poison to <16 x double>461; CHECK-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:1 SizeLat:1 for: %r245 = sitofp <16 x i16> poison to <16 x double>462; CHECK-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:1 SizeLat:1 for: %r246 = uitofp <16 x i16> poison to <16 x double>463; CHECK-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:1 SizeLat:1 for: %r247 = sitofp <16 x i16> poison to <16 x double>464; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r248 = uitofp <16 x i64> poison to <16 x double>465; CHECK-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r249 = sitofp <16 x i64> poison to <16 x double>466; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef467;468  %r30 = fptoui float poison to i1469  %r31 = fptosi float poison to i1470  %r32 = fptoui float poison to i8471  %r33 = fptosi float poison to i8472  %r34 = fptoui float poison to i16473  %r35 = fptosi float poison to i16474  %r36 = fptoui float poison to i32475  %r37 = fptosi float poison to i32476  %r38 = fptoui float poison to i64477  %r39 = fptosi float poison to i64478  %r40 = fptoui double poison to i1479  %r41 = fptosi double poison to i1480  %r42 = fptoui double poison to i8481  %r43 = fptosi double poison to i8482  %r44 = fptoui double poison to i16483  %r45 = fptosi double poison to i16484  %r46 = fptoui double poison to i32485  %r47 = fptosi double poison to i32486  %r48 = fptoui double poison to i64487  %r49 = fptosi double poison to i64488  %r50 = sitofp i1 poison to float489  %r51 = uitofp i1 poison to float490  %r52 = sitofp i1 poison to double491  %r53 = uitofp i1 poison to double492  %r54 = sitofp i8 poison to float493  %r55 = uitofp i8 poison to float494  %r56 = sitofp i8 poison to double495  %r57 = uitofp i8 poison to double496  %r58 = sitofp i16 poison to float497  %r59 = uitofp i16 poison to float498  %r60 = sitofp i16 poison to double499  %r61 = uitofp i16 poison to double500  %r62 = sitofp i32 poison to float501  %r63 = uitofp i32 poison to float502  %r64 = sitofp i32 poison to double503  %r65 = uitofp i32 poison to double504  %r66 = sitofp i64 poison to float505  %r67 = uitofp i64 poison to float506  %r68 = sitofp i64 poison to double507  %r69 = uitofp i64 poison to double508  %r80 = fptrunc double poison to float509  %r81 = fptrunc <2 x double> poison to <2 x float>510  %r82 = fptrunc <4 x double> poison to <4 x float>511  %r83 = fptrunc <8 x double> poison to <8 x float>512  %r84 = fptrunc <16 x double> poison to <16 x float>513  %truncf64f16 = fptrunc double poison to half514  %truncv2f64f16 = fptrunc <2 x double> poison to <2 x half>515  %truncv4f64f16 = fptrunc <4 x double> poison to <4 x half>516  %truncv8f64f16 = fptrunc <8 x double> poison to <8 x half>517  %truncv16f64f16 = fptrunc <16 x double> poison to <16 x half>518  %truncv32f16 = fptrunc float poison to half519  %truncv2f32f16 = fptrunc <2 x float> poison to <2 x half>520  %truncv4f32f16 = fptrunc <4 x float> poison to <4 x half>521  %truncv8f32f16 = fptrunc <8 x float> poison to <8 x half>522  %truncv16f32f16 = fptrunc <16 x float> poison to <16 x half>523  %r85 = fpext float poison to double524  %r86 = fpext <2 x float> poison to <2 x double>525  %r87 = fpext <4 x float> poison to <4 x double>526  %r88 = fpext <8 x float> poison to <8 x double>527  %r89 = fpext <16 x float> poison to <16 x double>528  %extf16f32 = fpext half poison to float529  %extv2f16f32 = fpext <2 x half> poison to <2 x float>530  %extv4f16f32 = fpext <4 x half> poison to <4 x float>531  %extv8f16f32 = fpext <8 x half> poison to <8 x float>532  %extv16f16f32 = fpext <16 x half> poison to <16 x float>533  %extf16f64 = fpext half poison to double534  %extv2f16f64 = fpext <2 x half> poison to <2 x double>535  %extv4f16f64 = fpext <4 x half> poison to <4 x double>536  %extv8f16f64 = fpext <8 x half> poison to <8 x double>537  %extv16f16f64 = fpext <16 x half> poison to <16 x double>538  %r90 = fptoui <2 x float> poison to <2 x i1>539  %r91 = fptosi <2 x float> poison to <2 x i1>540  %r92 = fptoui <2 x float> poison to <2 x i8>541  %r93 = fptosi <2 x float> poison to <2 x i8>542  %r94 = fptoui <2 x float> poison to <2 x i16>543  %r95 = fptosi <2 x float> poison to <2 x i16>544  %r96 = fptoui <2 x float> poison to <2 x i32>545  %r97 = fptosi <2 x float> poison to <2 x i32>546  %r98 = fptoui <2 x float> poison to <2 x i64>547  %r99 = fptosi <2 x float> poison to <2 x i64>548  %r100 = fptoui <2 x double> poison to <2 x i1>549  %r101 = fptosi <2 x double> poison to <2 x i1>550  %r102 = fptoui <2 x double> poison to <2 x i8>551  %r103 = fptosi <2 x double> poison to <2 x i8>552  %r104 = fptoui <2 x double> poison to <2 x i16>553  %r105 = fptosi <2 x double> poison to <2 x i16>554  %r106 = fptoui <2 x double> poison to <2 x i32>555  %r107 = fptosi <2 x double> poison to <2 x i32>556  %r108 = fptoui <2 x double> poison to <2 x i64>557  %r109 = fptosi <2 x double> poison to <2 x i64>558 559  %r110 = fptoui <4 x float> poison to <4 x i1>560  %r111 = fptosi <4 x float> poison to <4 x i1>561  %r112 = fptoui <4 x float> poison to <4 x i8>562  %r113 = fptosi <4 x float> poison to <4 x i8>563  %r114 = fptoui <4 x float> poison to <4 x i16>564  %r115 = fptosi <4 x float> poison to <4 x i16>565  %r116 = fptoui <4 x float> poison to <4 x i32>566  %r117 = fptosi <4 x float> poison to <4 x i32>567  %r118 = fptoui <4 x float> poison to <4 x i64>568  %r119 = fptosi <4 x float> poison to <4 x i64>569 570  %r120 = fptoui <4 x double> poison to <4 x i1>571  %r121 = fptosi <4 x double> poison to <4 x i1>572  %r122 = fptoui <4 x double> poison to <4 x i8>573  %r123 = fptosi <4 x double> poison to <4 x i8>574  %r124 = fptoui <4 x double> poison to <4 x i16>575  %r125 = fptosi <4 x double> poison to <4 x i16>576  %r126 = fptoui <4 x double> poison to <4 x i32>577  %r127 = fptosi <4 x double> poison to <4 x i32>578  %r128 = fptoui <4 x double> poison to <4 x i64>579  %r129 = fptosi <4 x double> poison to <4 x i64>580 581  %r130 = fptoui <8 x float> poison to <8 x i1>582  %r131 = fptosi <8 x float> poison to <8 x i1>583  %r132 = fptoui <8 x float> poison to <8 x i8>584  %r133 = fptosi <8 x float> poison to <8 x i8>585  %r134 = fptoui <8 x float> poison to <8 x i16>586  %r135 = fptosi <8 x float> poison to <8 x i16>587  %r136 = fptoui <8 x float> poison to <8 x i32>588  %r137 = fptosi <8 x float> poison to <8 x i32>589  %r138 = fptoui <8 x float> poison to <8 x i64>590  %r139 = fptosi <8 x float> poison to <8 x i64>591 592  %r140 = fptoui <8 x double> poison to <8 x i1>593  %r141 = fptosi <8 x double> poison to <8 x i1>594  %r142 = fptoui <8 x double> poison to <8 x i8>595  %r143 = fptosi <8 x double> poison to <8 x i8>596  %r144 = fptoui <8 x double> poison to <8 x i16>597  %r145 = fptosi <8 x double> poison to <8 x i16>598  %r146 = fptoui <8 x double> poison to <8 x i32>599  %r147 = fptosi <8 x double> poison to <8 x i32>600  %r148 = fptoui <8 x double> poison to <8 x i64>601  %r149 = fptosi <8 x double> poison to <8 x i64>602 603  %r150 = fptoui <16 x float> poison to <16 x i1>604  %r151 = fptosi <16 x float> poison to <16 x i1>605  %r152 = fptoui <16 x float> poison to <16 x i8>606  %r153 = fptosi <16 x float> poison to <16 x i8>607  %r154 = fptoui <16 x float> poison to <16 x i16>608  %r155 = fptosi <16 x float> poison to <16 x i16>609  %r156 = fptoui <16 x float> poison to <16 x i32>610  %r157 = fptosi <16 x float> poison to <16 x i32>611  %r158 = fptoui <16 x float> poison to <16 x i64>612  %r159 = fptosi <16 x float> poison to <16 x i64>613 614  %r160 = fptoui <16 x double> poison to <16 x i1>615  %r161 = fptosi <16 x double> poison to <16 x i1>616  %r162 = fptoui <16 x double> poison to <16 x i8>617  %r163 = fptosi <16 x double> poison to <16 x i8>618  %r164 = fptoui <16 x double> poison to <16 x i16>619  %r165 = fptosi <16 x double> poison to <16 x i16>620  %r166 = fptoui <16 x double> poison to <16 x i32>621  %r167 = fptosi <16 x double> poison to <16 x i32>622  %r168 = fptoui <16 x double> poison to <16 x i64>623  %r169 = fptosi <16 x double> poison to <16 x i64>624 625  %r170 = uitofp <2 x i1> poison to <2 x float>626  %r171 = sitofp <2 x i1> poison to <2 x float>627  %r172 = uitofp <2 x i8> poison to <2 x float>628  %r173 = sitofp <2 x i8> poison to <2 x float>629  %r174 = uitofp <2 x i16> poison to <2 x float>630  %r175 = sitofp <2 x i16> poison to <2 x float>631  %r176 = uitofp <2 x i32> poison to <2 x float>632  %r177 = sitofp <2 x i32> poison to <2 x float>633  %r178 = uitofp <2 x i64> poison to <2 x float>634  %r179 = sitofp <2 x i64> poison to <2 x float>635 636  %r180 = uitofp <2 x i1> poison to <2 x double>637  %r181 = sitofp <2 x i1> poison to <2 x double>638  %r182 = uitofp <2 x i8> poison to <2 x double>639  %r183 = sitofp <2 x i8> poison to <2 x double>640  %r184 = uitofp <2 x i16> poison to <2 x double>641  %r185 = sitofp <2 x i16> poison to <2 x double>642  %r186 = uitofp <2 x i32> poison to <2 x double>643  %r187 = sitofp <2 x i32> poison to <2 x double>644  %r188 = uitofp <2 x i64> poison to <2 x double>645  %r189 = sitofp <2 x i64> poison to <2 x double>646 647  %r190 = uitofp <4 x i1> poison to <4 x float>648  %r191 = sitofp <4 x i1> poison to <4 x float>649  %r192 = uitofp <4 x i8> poison to <4 x float>650  %r193 = sitofp <4 x i8> poison to <4 x float>651  %r194 = uitofp <4 x i16> poison to <4 x float>652  %r195 = sitofp <4 x i16> poison to <4 x float>653  %r196 = uitofp <4 x i32> poison to <4 x float>654  %r197 = sitofp <4 x i32> poison to <4 x float>655  %r198 = uitofp <4 x i64> poison to <4 x float>656  %r199 = sitofp <4 x i64> poison to <4 x float>657 658  %r200 = uitofp <4 x i1> poison to <4 x double>659  %r201 = sitofp <4 x i1> poison to <4 x double>660  %r202 = uitofp <4 x i8> poison to <4 x double>661  %r203 = sitofp <4 x i8> poison to <4 x double>662  %r204 = uitofp <4 x i16> poison to <4 x double>663  %r205 = sitofp <4 x i16> poison to <4 x double>664  %r206 = uitofp <4 x i32> poison to <4 x double>665  %r207 = sitofp <4 x i32> poison to <4 x double>666  %r208 = uitofp <4 x i64> poison to <4 x double>667  %r209 = sitofp <4 x i64> poison to <4 x double>668 669  %r210 = uitofp <8 x i1> poison to <8 x float>670  %r211 = sitofp <8 x i1> poison to <8 x float>671  %r212 = uitofp <8 x i8> poison to <8 x float>672  %r213 = sitofp <8 x i8> poison to <8 x float>673  %r214 = uitofp <8 x i16> poison to <8 x float>674  %r215 = sitofp <8 x i16> poison to <8 x float>675  %r216 = uitofp <8 x i32> poison to <8 x float>676  %r217 = sitofp <8 x i32> poison to <8 x float>677  %r218 = uitofp <8 x i64> poison to <8 x float>678  %r219 = sitofp <8 x i64> poison to <8 x float>679 680  %r220 = uitofp <8 x i1> poison to <8 x double>681  %r221 = sitofp <8 x i1> poison to <8 x double>682  %r222 = uitofp <8 x i8> poison to <8 x double>683  %r223 = sitofp <8 x i8> poison to <8 x double>684  %r224 = uitofp <8 x i16> poison to <8 x double>685  %r225 = sitofp <8 x i16> poison to <8 x double>686  %r226 = uitofp <8 x i16> poison to <8 x double>687  %r227 = sitofp <8 x i16> poison to <8 x double>688  %r228 = uitofp <8 x i64> poison to <8 x double>689  %r229 = sitofp <8 x i64> poison to <8 x double>690 691  %r230 = uitofp <16 x i1> poison to <16 x float>692  %r231 = sitofp <16 x i1> poison to <16 x float>693  %r232 = uitofp <16 x i8> poison to <16 x float>694  %r233 = sitofp <16 x i8> poison to <16 x float>695  %r234 = uitofp <16 x i16> poison to <16 x float>696  %r235 = sitofp <16 x i16> poison to <16 x float>697  %r236 = uitofp <16 x i32> poison to <16 x float>698  %r237 = sitofp <16 x i32> poison to <16 x float>699  %r238 = uitofp <16 x i64> poison to <16 x float>700  %r239 = sitofp <16 x i64> poison to <16 x float>701 702  %r240 = uitofp <16 x i1> poison to <16 x double>703  %r241 = sitofp <16 x i1> poison to <16 x double>704  %r242 = uitofp <16 x i8> poison to <16 x double>705  %r243 = sitofp <16 x i8> poison to <16 x double>706  %r244 = uitofp <16 x i16> poison to <16 x double>707  %r245 = sitofp <16 x i16> poison to <16 x double>708  %r246 = uitofp <16 x i16> poison to <16 x double>709  %r247 = sitofp <16 x i16> poison to <16 x double>710  %r248 = uitofp <16 x i64> poison to <16 x double>711  %r249 = sitofp <16 x i64> poison to <16 x double>712 713  ret i32 undef714}715 716define i32 @casts_with_users(i8 %a, i16 %b, i32 %c, i64 %d, i1 %e) {717; CHECK-LABEL: 'casts_with_users'718; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r0 = sext i8 %a to i16719; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r1 = sext i8 %a to i32720; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r2 = sext i8 %a to i64721; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r3 = sext i16 %b to i32722; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r4 = sext i16 %b to i64723; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r5 = sext i32 %c to i64724; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r0, ptr undef, align 2725; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r1, ptr undef, align 4726; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r2, ptr undef, align 8727; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r3, ptr undef, align 4728; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r4, ptr undef, align 8729; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r5, ptr undef, align 8730; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r6 = zext i8 %a to i16731; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r7 = zext i8 %a to i32732; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r8 = zext i8 %a to i64733; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r9 = zext i16 %b to i32734; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r10 = zext i16 %b to i64735; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r11 = zext i32 %c to i64736; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r6, ptr undef, align 2737; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r7, ptr undef, align 4738; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r8, ptr undef, align 8739; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r9, ptr undef, align 4740; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r10, ptr undef, align 8741; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r11, ptr undef, align 8742; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r12 = trunc i64 %d to i32743; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r13 = trunc i64 %d to i16744; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r14 = trunc i64 %d to i8745; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r15 = trunc i32 %c to i16746; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r16 = trunc i32 %c to i8747; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r17 = trunc i16 %b to i8748; CHECK-NEXT:  Cost Model: Found costs of 1 for: %tie.trunc.8 = add i8 %r14, %r16749; CHECK-NEXT:  Cost Model: Found costs of 1 for: %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17750; CHECK-NEXT:  Cost Model: Found costs of 1 for: %tie.trunc.16 = add i16 %r13, %r15751; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.16.8 = trunc i16 %r6 to i8752; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.32.8 = trunc i32 %r7 to i8753; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.32.16 = trunc i32 %r9 to i16754; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.64.8 = trunc i64 %r8 to i8755; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.64.16 = trunc i64 %r10 to i16756; CHECK-NEXT:  Cost Model: Found costs of 0 for: %free.trunc.64.32 = trunc i64 %r11 to i32757; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r18 = sext i1 %e to i8758; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r19 = sext i1 %e to i16759; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r20 = sext i1 %e to i32760; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r21 = sext i1 %e to i64761; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r22 = zext i1 %e to i8762; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r23 = zext i1 %e to i16763; CHECK-NEXT:  Cost Model: Found costs of 1 for: %r24 = zext i1 %e to i32764; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r25 = zext i1 %e to i64765; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i8 %r18, ptr undef, align 1766; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r19, ptr undef, align 2767; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r20, ptr undef, align 4768; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r21, ptr undef, align 8769; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i8 %r22, ptr undef, align 1770; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r23, ptr undef, align 2771; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r24, ptr undef, align 4772; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i64 %r25, ptr undef, align 8773; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 %r12774;775  %r0 = sext i8 %a to i16776  %r1 = sext i8 %a to i32777  %r2 = sext i8 %a to i64778  %r3 = sext i16 %b to i32779  %r4 = sext i16 %b to i64780  %r5 = sext i32 %c to i64781  store i16 %r0, ptr undef782  store i32 %r1, ptr undef783  store i64 %r2, ptr undef784  store i32 %r3, ptr undef785  store i64 %r4, ptr undef786  store i64 %r5, ptr undef787 788  %r6 = zext i8 %a to i16789  %r7 = zext i8 %a to i32790  %r8 = zext i8 %a to i64791  %r9 = zext i16 %b to i32792  %r10 = zext i16 %b to i64793  %r11 = zext i32 %c to i64794  store i16 %r6, ptr undef795  store i32 %r7, ptr undef796  store i64 %r8, ptr undef797  store i32 %r9, ptr undef798  store i64 %r10, ptr undef799  store i64 %r11, ptr undef800 801  %r12 = trunc i64 %d to i32802  %r13 = trunc i64 %d to i16803  %r14 = trunc i64 %d to i8804  %r15 = trunc i32 %c to i16805  %r16 = trunc i32 %c to i8806  %r17 = trunc i16 %b to i8807  %tie.trunc.8 = add i8 %r14, %r16808  %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17809  %tie.trunc.16 = add i16 %r13, %r15810 811  %free.trunc.16.8 = trunc i16 %r6 to i8812  %free.trunc.32.8 = trunc i32 %r7 to i8813  %free.trunc.32.16 = trunc i32 %r9 to i16814  %free.trunc.64.8 = trunc i64 %r8 to i8815  %free.trunc.64.16 = trunc i64 %r10 to i16816  %free.trunc.64.32 = trunc i64 %r11 to i32817 818  %r18 = sext i1 %e to i8819  %r19 = sext i1 %e to i16820  %r20 = sext i1 %e to i32821  %r21 = sext i1 %e to i64822  %r22 = zext i1 %e to i8823  %r23 = zext i1 %e to i16824  %r24 = zext i1 %e to i32825  %r25 = zext i1 %e to i64826  store i8 %r18, ptr undef827  store i16 %r19, ptr undef828  store i32 %r20, ptr undef829  store i64 %r21, ptr undef830  store i8 %r22, ptr undef831  store i16 %r23, ptr undef832  store i32 %r24, ptr undef833  store i64 %r25, ptr undef834  ret i32 %r12835}836 837define i32 @bitcasts() {838; CHECK-LABEL: 'bitcasts'839; CHECK-NEXT:  Cost Model: Found costs of 0 for: %a = bitcast i32 poison to i32840; CHECK-NEXT:  Cost Model: Found costs of 0 for: %b = bitcast float poison to float841; CHECK-NEXT:  Cost Model: Found costs of 1 for: %c = bitcast i32 poison to float842; CHECK-NEXT:  Cost Model: Found costs of 1 for: %d = bitcast float poison to i32843; CHECK-NEXT:  Cost Model: Found costs of 1 for: %e = bitcast i64 poison to double844; CHECK-NEXT:  Cost Model: Found costs of 1 for: %f = bitcast double poison to i64845; CHECK-NEXT:  Cost Model: Found costs of 1 for: %g = bitcast half poison to i16846; CHECK-NEXT:  Cost Model: Found costs of 1 for: %h = bitcast i16 poison to half847; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef848;849  %a = bitcast i32 poison to i32850  %b = bitcast float poison to float851  %c = bitcast i32 poison to float852  %d = bitcast float poison to i32853  %e = bitcast i64 poison to double854  %f = bitcast double poison to i64855  %g = bitcast half poison to i16856  %h = bitcast i16 poison to half857  ret i32 undef858}859 860define i32 @load_extends() {861; CHECK-LABEL: 'load_extends'862; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi8 = load i8, ptr undef, align 1863; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi16 = load i16, ptr undef, align 2864; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadi32 = load i32, ptr undef, align 4865; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i8 = load <2 x i8>, ptr undef, align 2866; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i8 = load <4 x i8>, ptr undef, align 4867; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv8i8 = load <8 x i8>, ptr undef, align 8868; CHECK-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i16 = load <2 x i16>, ptr undef, align 4869; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i16 = load <4 x i16>, ptr undef, align 8870; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv2i32 = load <2 x i32>, ptr undef, align 8871; CHECK-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:1 Lat:4 SizeLat:1 for: %loadv4i32 = load <4 x i32>, ptr undef, align 16872; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r0 = sext i8 %loadi8 to i16873; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r1 = zext i8 %loadi8 to i16874; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r2 = sext i8 %loadi8 to i32875; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r3 = zext i8 %loadi8 to i32876; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r4 = sext i8 %loadi8 to i64877; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r5 = zext i8 %loadi8 to i64878; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r6 = sext i16 %loadi16 to i32879; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r7 = zext i16 %loadi16 to i32880; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r8 = sext i16 %loadi16 to i64881; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r9 = zext i16 %loadi16 to i64882; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r10 = sext i32 %loadi32 to i64883; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r11 = zext i32 %loadi32 to i64884; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>885; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>886; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>887; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>888; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>889; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>890; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>891; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>892; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>893; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>894; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>895; CHECK-NEXT:  Cost Model: Found costs of 1 for: %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>896; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v12 = sext <4 x i32> %loadv4i32 to <4 x i64>897; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %v13 = zext <4 x i32> %loadv4i32 to <4 x i64>898; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef899;900  %loadi8 = load i8, ptr undef901  %loadi16 = load i16, ptr undef902  %loadi32 = load i32, ptr undef903  %loadv2i8 = load <2 x i8>, ptr undef904  %loadv4i8 = load <4 x i8>, ptr undef905  %loadv8i8 = load <8 x i8>, ptr undef906  %loadv2i16 = load <2 x i16>, ptr undef907  %loadv4i16 = load <4 x i16>, ptr undef908  %loadv2i32 = load <2 x i32>, ptr undef909  %loadv4i32 = load <4 x i32>, ptr undef910 911  %r0 = sext i8 %loadi8 to i16912  %r1 = zext i8 %loadi8 to i16913  %r2 = sext i8 %loadi8 to i32914  %r3 = zext i8 %loadi8 to i32915  %r4 = sext i8 %loadi8 to i64916  %r5 = zext i8 %loadi8 to i64917  %r6 = sext i16 %loadi16 to i32918  %r7 = zext i16 %loadi16 to i32919  %r8 = sext i16 %loadi16 to i64920  %r9 = zext i16 %loadi16 to i64921  %r10 = sext i32 %loadi32 to i64922  %r11 = zext i32 %loadi32 to i64923 924  %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>925  %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>926  %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>927  %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>928  %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>929  %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>930  %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>931  %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>932  %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>933  %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>934  %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>935  %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>936  %v12 = sext <4 x i32> %loadv4i32 to <4 x i64>937  %v13 = zext <4 x i32> %loadv4i32 to <4 x i64>938 939  ret i32 undef940}941 942define i32 @store_truncs() {943; CHECK-LABEL: 'store_truncs'944; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r0 = trunc i64 poison to i8945; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i8 %r0, ptr undef, align 1946; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r1 = trunc i64 poison to i16947; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r1, ptr undef, align 2948; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r2 = trunc i64 poison to i32949; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i32 %r2, ptr undef, align 4950; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r3 = trunc i32 poison to i8951; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i8 %r3, ptr undef, align 1952; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r4 = trunc i32 poison to i16953; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i16 %r4, ptr undef, align 2954; CHECK-NEXT:  Cost Model: Found costs of 0 for: %r5 = trunc i16 poison to i8955; CHECK-NEXT:  Cost Model: Found costs of 1 for: store i8 %r5, ptr undef, align 1956; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret i32 undef957;958  %r0 = trunc i64 poison to i8959  store i8 %r0, ptr undef960  %r1 = trunc i64 poison to i16961  store i16 %r1, ptr undef962  %r2 = trunc i64 poison to i32963  store i32 %r2, ptr undef964  %r3 = trunc i32 poison to i8965  store i8 %r3, ptr undef966  %r4 = trunc i32 poison to i16967  store i16 %r4, ptr undef968  %r5 = trunc i16 poison to i8969  store i8 %r5, ptr undef970  ret i32 undef971}972 973define void @extend_extract() {974; CHECK-LABEL: 'extend_extract'975; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %e8 = extractelement <8 x i8> undef, i32 1976; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %e16 = extractelement <8 x i16> undef, i32 1977; CHECK-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %e32 = extractelement <8 x i32> undef, i32 1978; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8_16 = sext i8 %e8 to i16979; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z8_16 = zext i8 %e8 to i16980; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8_32 = sext i8 %e8 to i32981; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z8_32 = zext i8 %e8 to i32982; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s8_64 = sext i8 %e8 to i64983; CHECK-NEXT:  Cost Model: Found costs of 0 for: %z8_64 = zext i8 %e8 to i64984; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s16_32 = sext i16 %e16 to i32985; CHECK-NEXT:  Cost Model: Found costs of 1 for: %z16_32 = zext i16 %e16 to i32986; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s16_64 = sext i16 %e16 to i64987; CHECK-NEXT:  Cost Model: Found costs of 0 for: %z16_64 = zext i16 %e16 to i64988; CHECK-NEXT:  Cost Model: Found costs of 1 for: %s32_64 = sext i32 %e32 to i64989; CHECK-NEXT:  Cost Model: Found costs of 0 for: %z32_64 = zext i32 %e32 to i64990; CHECK-NEXT:  Cost Model: Found costs of 13 for: call void @use(i16 %s8_16, i16 %z8_16, i32 %s8_32, i32 %z8_32, i64 %s8_64, i64 %z8_64, i32 %s16_32, i32 %z16_32, i64 %s16_64, i64 %z16_64, i64 %s32_64, i64 %z32_64)991; CHECK-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void992;993  %e8 = extractelement <8 x i8> undef, i32 1994  %e16 = extractelement <8 x i16> undef, i32 1995  %e32 = extractelement <8 x i32> undef, i32 1996  %s8_16 = sext i8 %e8 to i16997  %z8_16 = zext i8 %e8 to i16998  %s8_32 = sext i8 %e8 to i32999  %z8_32 = zext i8 %e8 to i321000  %s8_64 = sext i8 %e8 to i641001  %z8_64 = zext i8 %e8 to i641002  %s16_32 = sext i16 %e16 to i321003  %z16_32 = zext i16 %e16 to i321004  %s16_64 = sext i16 %e16 to i641005  %z16_64 = zext i16 %e16 to i641006  %s32_64 = sext i32 %e32 to i641007  %z32_64 = zext i32 %e32 to i641008  call void @use(i16 %s8_16, i16 %z8_16, i32 %s8_32, i32 %z8_32, i64 %s8_64, i64 %z8_64, i32 %s16_32, i32 %z16_32, i64 %s16_64, i64 %z16_64, i64 %s32_64, i64 %z32_64)1009  ret void1010}1011 1012declare void @use(i16, i16, i32, i32, i64, i64, i32, i32, i64, i64, i64, i64)1013 1014define void @fp16cast() {1015; CHECK-NOFP16-LABEL: 'fp16cast'1016; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r30 = fptoui half poison to i11017; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r31 = fptosi half poison to i11018; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r32 = fptoui half poison to i81019; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r33 = fptosi half poison to i81020; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r34 = fptoui half poison to i161021; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r35 = fptosi half poison to i161022; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r36 = fptoui half poison to i321023; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r37 = fptosi half poison to i321024; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r38 = fptoui half poison to i641025; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r39 = fptosi half poison to i641026; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r90 = fptoui <2 x half> poison to <2 x i1>1027; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r91 = fptosi <2 x half> poison to <2 x i1>1028; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r92 = fptoui <2 x half> poison to <2 x i8>1029; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r93 = fptosi <2 x half> poison to <2 x i8>1030; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r94 = fptoui <2 x half> poison to <2 x i16>1031; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r95 = fptosi <2 x half> poison to <2 x i16>1032; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r96 = fptoui <2 x half> poison to <2 x i32>1033; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r97 = fptosi <2 x half> poison to <2 x i32>1034; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r98 = fptoui <2 x half> poison to <2 x i64>1035; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r99 = fptosi <2 x half> poison to <2 x i64>1036; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r110 = fptoui <4 x half> poison to <4 x i1>1037; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r111 = fptosi <4 x half> poison to <4 x i1>1038; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r112 = fptoui <4 x half> poison to <4 x i8>1039; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r113 = fptosi <4 x half> poison to <4 x i8>1040; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r114 = fptoui <4 x half> poison to <4 x i16>1041; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r115 = fptosi <4 x half> poison to <4 x i16>1042; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r116 = fptoui <4 x half> poison to <4 x i32>1043; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:20 CodeSize:1 Lat:1 SizeLat:1 for: %r117 = fptosi <4 x half> poison to <4 x i32>1044; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r118 = fptoui <4 x half> poison to <4 x i64>1045; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r119 = fptosi <4 x half> poison to <4 x i64>1046; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r130 = fptoui <8 x half> poison to <8 x i1>1047; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r131 = fptosi <8 x half> poison to <8 x i1>1048; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r132 = fptoui <8 x half> poison to <8 x i8>1049; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r133 = fptosi <8 x half> poison to <8 x i8>1050; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r134 = fptoui <8 x half> poison to <8 x i16>1051; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r135 = fptosi <8 x half> poison to <8 x i16>1052; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:41 CodeSize:1 Lat:1 SizeLat:1 for: %r136 = fptoui <8 x half> poison to <8 x i32>1053; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:41 CodeSize:1 Lat:1 SizeLat:1 for: %r137 = fptosi <8 x half> poison to <8 x i32>1054; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r138 = fptoui <8 x half> poison to <8 x i64>1055; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r139 = fptosi <8 x half> poison to <8 x i64>1056; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r150 = fptoui <16 x half> poison to <16 x i1>1057; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r151 = fptosi <16 x half> poison to <16 x i1>1058; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r152 = fptoui <16 x half> poison to <16 x i8>1059; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r153 = fptosi <16 x half> poison to <16 x i8>1060; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r154 = fptoui <16 x half> poison to <16 x i16>1061; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r155 = fptosi <16 x half> poison to <16 x i16>1062; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:82 CodeSize:1 Lat:1 SizeLat:1 for: %r156 = fptoui <16 x half> poison to <16 x i32>1063; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:82 CodeSize:1 Lat:1 SizeLat:1 for: %r157 = fptosi <16 x half> poison to <16 x i32>1064; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:1 Lat:1 SizeLat:1 for: %r158 = fptoui <16 x half> poison to <16 x i64>1065; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:1 Lat:1 SizeLat:1 for: %r159 = fptosi <16 x half> poison to <16 x i64>1066; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r250 = uitofp <8 x i1> poison to <8 x half>1067; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r251 = sitofp <8 x i1> poison to <8 x half>1068; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r252 = uitofp <8 x i8> poison to <8 x half>1069; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r253 = sitofp <8 x i8> poison to <8 x half>1070; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r254 = uitofp <8 x i16> poison to <8 x half>1071; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %r255 = sitofp <8 x i16> poison to <8 x half>1072; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r256 = uitofp <8 x i32> poison to <8 x half>1073; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r257 = sitofp <8 x i32> poison to <8 x half>1074; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r258 = uitofp <8 x i64> poison to <8 x half>1075; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r259 = sitofp <8 x i64> poison to <8 x half>1076; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r260 = uitofp <16 x i1> poison to <16 x half>1077; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r261 = sitofp <16 x i1> poison to <16 x half>1078; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r262 = uitofp <16 x i8> poison to <16 x half>1079; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r263 = sitofp <16 x i8> poison to <16 x half>1080; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r264 = uitofp <16 x i16> poison to <16 x half>1081; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r265 = sitofp <16 x i16> poison to <16 x half>1082; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %r266 = uitofp <16 x i32> poison to <16 x half>1083; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %r267 = sitofp <16 x i32> poison to <16 x half>1084; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %r268 = uitofp <16 x i64> poison to <16 x half>1085; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %r269 = sitofp <16 x i64> poison to <16 x half>1086; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1087;1088; CHECK-FP16-LABEL: 'fp16cast'1089; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r30 = fptoui half poison to i11090; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r31 = fptosi half poison to i11091; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r32 = fptoui half poison to i81092; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r33 = fptosi half poison to i81093; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r34 = fptoui half poison to i161094; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r35 = fptosi half poison to i161095; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r36 = fptoui half poison to i321096; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r37 = fptosi half poison to i321097; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r38 = fptoui half poison to i641098; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r39 = fptosi half poison to i641099; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r90 = fptoui <2 x half> poison to <2 x i1>1100; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r91 = fptosi <2 x half> poison to <2 x i1>1101; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r92 = fptoui <2 x half> poison to <2 x i8>1102; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r93 = fptosi <2 x half> poison to <2 x i8>1103; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r94 = fptoui <2 x half> poison to <2 x i16>1104; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r95 = fptosi <2 x half> poison to <2 x i16>1105; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r96 = fptoui <2 x half> poison to <2 x i32>1106; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r97 = fptosi <2 x half> poison to <2 x i32>1107; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r98 = fptoui <2 x half> poison to <2 x i64>1108; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %r99 = fptosi <2 x half> poison to <2 x i64>1109; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r110 = fptoui <4 x half> poison to <4 x i1>1110; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r111 = fptosi <4 x half> poison to <4 x i1>1111; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r112 = fptoui <4 x half> poison to <4 x i8>1112; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r113 = fptosi <4 x half> poison to <4 x i8>1113; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r114 = fptoui <4 x half> poison to <4 x i16>1114; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r115 = fptosi <4 x half> poison to <4 x i16>1115; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r116 = fptoui <4 x half> poison to <4 x i32>1116; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r117 = fptosi <4 x half> poison to <4 x i32>1117; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r118 = fptoui <4 x half> poison to <4 x i64>1118; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:21 CodeSize:1 Lat:1 SizeLat:1 for: %r119 = fptosi <4 x half> poison to <4 x i64>1119; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r130 = fptoui <8 x half> poison to <8 x i1>1120; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:40 CodeSize:1 Lat:1 SizeLat:1 for: %r131 = fptosi <8 x half> poison to <8 x i1>1121; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r132 = fptoui <8 x half> poison to <8 x i8>1122; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r133 = fptosi <8 x half> poison to <8 x i8>1123; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r134 = fptoui <8 x half> poison to <8 x i16>1124; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r135 = fptosi <8 x half> poison to <8 x i16>1125; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r136 = fptoui <8 x half> poison to <8 x i32>1126; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r137 = fptosi <8 x half> poison to <8 x i32>1127; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r138 = fptoui <8 x half> poison to <8 x i64>1128; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:43 CodeSize:1 Lat:1 SizeLat:1 for: %r139 = fptosi <8 x half> poison to <8 x i64>1129; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r150 = fptoui <16 x half> poison to <16 x i1>1130; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:81 CodeSize:1 Lat:1 SizeLat:1 for: %r151 = fptosi <16 x half> poison to <16 x i1>1131; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r152 = fptoui <16 x half> poison to <16 x i8>1132; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r153 = fptosi <16 x half> poison to <16 x i8>1133; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r154 = fptoui <16 x half> poison to <16 x i16>1134; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r155 = fptosi <16 x half> poison to <16 x i16>1135; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r156 = fptoui <16 x half> poison to <16 x i32>1136; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %r157 = fptosi <16 x half> poison to <16 x i32>1137; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:1 Lat:1 SizeLat:1 for: %r158 = fptoui <16 x half> poison to <16 x i64>1138; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:86 CodeSize:1 Lat:1 SizeLat:1 for: %r159 = fptosi <16 x half> poison to <16 x i64>1139; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r250 = uitofp <8 x i1> poison to <8 x half>1140; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r251 = sitofp <8 x i1> poison to <8 x half>1141; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r252 = uitofp <8 x i8> poison to <8 x half>1142; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r253 = sitofp <8 x i8> poison to <8 x half>1143; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r254 = uitofp <8 x i16> poison to <8 x half>1144; CHECK-FP16-NEXT:  Cost Model: Found costs of 1 for: %r255 = sitofp <8 x i16> poison to <8 x half>1145; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r256 = uitofp <8 x i32> poison to <8 x half>1146; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r257 = sitofp <8 x i32> poison to <8 x half>1147; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r258 = uitofp <8 x i64> poison to <8 x half>1148; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:7 CodeSize:1 Lat:1 SizeLat:1 for: %r259 = sitofp <8 x i64> poison to <8 x half>1149; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r260 = uitofp <16 x i1> poison to <16 x half>1150; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %r261 = sitofp <16 x i1> poison to <16 x half>1151; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r262 = uitofp <16 x i8> poison to <16 x half>1152; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %r263 = sitofp <16 x i8> poison to <16 x half>1153; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r264 = uitofp <16 x i16> poison to <16 x half>1154; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %r265 = sitofp <16 x i16> poison to <16 x half>1155; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %r266 = uitofp <16 x i32> poison to <16 x half>1156; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %r267 = sitofp <16 x i32> poison to <16 x half>1157; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %r268 = uitofp <16 x i64> poison to <16 x half>1158; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:14 CodeSize:1 Lat:1 SizeLat:1 for: %r269 = sitofp <16 x i64> poison to <16 x half>1159; CHECK-FP16-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1160;1161  %r30 = fptoui half poison to i11162  %r31 = fptosi half poison to i11163  %r32 = fptoui half poison to i81164  %r33 = fptosi half poison to i81165  %r34 = fptoui half poison to i161166  %r35 = fptosi half poison to i161167  %r36 = fptoui half poison to i321168  %r37 = fptosi half poison to i321169  %r38 = fptoui half poison to i641170  %r39 = fptosi half poison to i641171 1172  %r90 = fptoui <2 x half> poison to <2 x i1>1173  %r91 = fptosi <2 x half> poison to <2 x i1>1174  %r92 = fptoui <2 x half> poison to <2 x i8>1175  %r93 = fptosi <2 x half> poison to <2 x i8>1176  %r94 = fptoui <2 x half> poison to <2 x i16>1177  %r95 = fptosi <2 x half> poison to <2 x i16>1178  %r96 = fptoui <2 x half> poison to <2 x i32>1179  %r97 = fptosi <2 x half> poison to <2 x i32>1180  %r98 = fptoui <2 x half> poison to <2 x i64>1181  %r99 = fptosi <2 x half> poison to <2 x i64>1182 1183  %r110 = fptoui <4 x half> poison to <4 x i1>1184  %r111 = fptosi <4 x half> poison to <4 x i1>1185  %r112 = fptoui <4 x half> poison to <4 x i8>1186  %r113 = fptosi <4 x half> poison to <4 x i8>1187  %r114 = fptoui <4 x half> poison to <4 x i16>1188  %r115 = fptosi <4 x half> poison to <4 x i16>1189  %r116 = fptoui <4 x half> poison to <4 x i32>1190  %r117 = fptosi <4 x half> poison to <4 x i32>1191  %r118 = fptoui <4 x half> poison to <4 x i64>1192  %r119 = fptosi <4 x half> poison to <4 x i64>1193 1194  %r130 = fptoui <8 x half> poison to <8 x i1>1195  %r131 = fptosi <8 x half> poison to <8 x i1>1196  %r132 = fptoui <8 x half> poison to <8 x i8>1197  %r133 = fptosi <8 x half> poison to <8 x i8>1198  %r134 = fptoui <8 x half> poison to <8 x i16>1199  %r135 = fptosi <8 x half> poison to <8 x i16>1200  %r136 = fptoui <8 x half> poison to <8 x i32>1201  %r137 = fptosi <8 x half> poison to <8 x i32>1202  %r138 = fptoui <8 x half> poison to <8 x i64>1203  %r139 = fptosi <8 x half> poison to <8 x i64>1204 1205  %r150 = fptoui <16 x half> poison to <16 x i1>1206  %r151 = fptosi <16 x half> poison to <16 x i1>1207  %r152 = fptoui <16 x half> poison to <16 x i8>1208  %r153 = fptosi <16 x half> poison to <16 x i8>1209  %r154 = fptoui <16 x half> poison to <16 x i16>1210  %r155 = fptosi <16 x half> poison to <16 x i16>1211  %r156 = fptoui <16 x half> poison to <16 x i32>1212  %r157 = fptosi <16 x half> poison to <16 x i32>1213  %r158 = fptoui <16 x half> poison to <16 x i64>1214  %r159 = fptosi <16 x half> poison to <16 x i64>1215 1216  %r250 = uitofp <8 x i1> poison to <8 x half>1217  %r251 = sitofp <8 x i1> poison to <8 x half>1218  %r252 = uitofp <8 x i8> poison to <8 x half>1219  %r253 = sitofp <8 x i8> poison to <8 x half>1220  %r254 = uitofp <8 x i16> poison to <8 x half>1221  %r255 = sitofp <8 x i16> poison to <8 x half>1222  %r256 = uitofp <8 x i32> poison to <8 x half>1223  %r257 = sitofp <8 x i32> poison to <8 x half>1224  %r258 = uitofp <8 x i64> poison to <8 x half>1225  %r259 = sitofp <8 x i64> poison to <8 x half>1226 1227  %r260 = uitofp <16 x i1> poison to <16 x half>1228  %r261 = sitofp <16 x i1> poison to <16 x half>1229  %r262 = uitofp <16 x i8> poison to <16 x half>1230  %r263 = sitofp <16 x i8> poison to <16 x half>1231  %r264 = uitofp <16 x i16> poison to <16 x half>1232  %r265 = sitofp <16 x i16> poison to <16 x half>1233  %r266 = uitofp <16 x i32> poison to <16 x half>1234  %r267 = sitofp <16 x i32> poison to <16 x half>1235  %r268 = uitofp <16 x i64> poison to <16 x half>1236  %r269 = sitofp <16 x i64> poison to <16 x half>1237  ret void1238}1239 1240define void @bf16cast() {1241; CHECK-NOFP16-LABEL: 'bf16cast'1242; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %extf16f32 = fpext bfloat poison to float1243; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %extv2f16f32 = fpext <2 x bfloat> poison to <2 x float>1244; CHECK-NOFP16-NEXT:  Cost Model: Found costs of 1 for: %extv4f16f32 = fpext <4 x bfloat> poison to <4 x float>1245; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f32 = fpext <8 x bfloat> poison to <8 x float>1246; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f32 = fpext <16 x bfloat> poison to <16 x float>1247; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extf16f64 = fpext bfloat poison to double1248; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv2f16f64 = fpext <2 x bfloat> poison to <2 x double>1249; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %extv4f16f64 = fpext <4 x bfloat> poison to <4 x double>1250; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f64 = fpext <8 x bfloat> poison to <8 x double>1251; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f64 = fpext <16 x bfloat> poison to <16 x double>1252; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %truncf16f32 = fptrunc float poison to bfloat1253; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %truncv2f16f32 = fptrunc <2 x float> poison to <2 x bfloat>1254; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %truncv4f16f32 = fptrunc <4 x float> poison to <4 x bfloat>1255; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:15 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f16f32 = fptrunc <8 x float> poison to <8 x bfloat>1256; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:30 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f16f32 = fptrunc <16 x float> poison to <16 x bfloat>1257; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %truncf16f64 = fptrunc double poison to bfloat1258; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:9 CodeSize:1 Lat:1 SizeLat:1 for: %truncv2f16f64 = fptrunc <2 x double> poison to <2 x bfloat>1259; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:10 CodeSize:1 Lat:1 SizeLat:1 for: %truncv4f16f64 = fptrunc <4 x double> poison to <4 x bfloat>1260; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:19 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f16f64 = fptrunc <8 x double> poison to <8 x bfloat>1261; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:38 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f16f64 = fptrunc <16 x double> poison to <16 x bfloat>1262; CHECK-NOFP16-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1263;1264; CHECK-BF16-LABEL: 'bf16cast'1265; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %extf16f32 = fpext bfloat poison to float1266; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %extv2f16f32 = fpext <2 x bfloat> poison to <2 x float>1267; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %extv4f16f32 = fpext <4 x bfloat> poison to <4 x float>1268; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f32 = fpext <8 x bfloat> poison to <8 x float>1269; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f32 = fpext <16 x bfloat> poison to <16 x float>1270; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extf16f64 = fpext bfloat poison to double1271; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %extv2f16f64 = fpext <2 x bfloat> poison to <2 x double>1272; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %extv4f16f64 = fpext <4 x bfloat> poison to <4 x double>1273; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %extv8f16f64 = fpext <8 x bfloat> poison to <8 x double>1274; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %extv16f16f64 = fpext <16 x bfloat> poison to <16 x double>1275; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %truncf16f32 = fptrunc float poison to bfloat1276; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:8 CodeSize:1 Lat:1 SizeLat:1 for: %truncv2f16f32 = fptrunc <2 x float> poison to <2 x bfloat>1277; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %truncv4f16f32 = fptrunc <4 x float> poison to <4 x bfloat>1278; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f16f32 = fptrunc <8 x float> poison to <8 x bfloat>1279; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:4 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f16f32 = fptrunc <16 x float> poison to <16 x bfloat>1280; CHECK-BF16-NEXT:  Cost Model: Found costs of 1 for: %truncf16f64 = fptrunc double poison to bfloat1281; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:1 SizeLat:1 for: %truncv2f16f64 = fptrunc <2 x double> poison to <2 x bfloat>1282; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:1 Lat:1 SizeLat:1 for: %truncv4f16f64 = fptrunc <4 x double> poison to <4 x bfloat>1283; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:6 CodeSize:1 Lat:1 SizeLat:1 for: %truncv8f16f64 = fptrunc <8 x double> poison to <8 x bfloat>1284; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:12 CodeSize:1 Lat:1 SizeLat:1 for: %truncv16f16f64 = fptrunc <16 x double> poison to <16 x bfloat>1285; CHECK-BF16-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void1286;1287  %extf16f32 = fpext bfloat poison to float1288  %extv2f16f32 = fpext <2 x bfloat> poison to <2 x float>1289  %extv4f16f32 = fpext <4 x bfloat> poison to <4 x float>1290  %extv8f16f32 = fpext <8 x bfloat> poison to <8 x float>1291  %extv16f16f32 = fpext <16 x bfloat> poison to <16 x float>1292  %extf16f64 = fpext bfloat poison to double1293  %extv2f16f64 = fpext <2 x bfloat> poison to <2 x double>1294  %extv4f16f64 = fpext <4 x bfloat> poison to <4 x double>1295  %extv8f16f64 = fpext <8 x bfloat> poison to <8 x double>1296  %extv16f16f64 = fpext <16 x bfloat> poison to <16 x double>1297  %truncf16f32 = fptrunc float poison to bfloat1298  %truncv2f16f32 = fptrunc <2 x float> poison to <2 x bfloat>1299  %truncv4f16f32 = fptrunc <4 x float> poison to <4 x bfloat>1300  %truncv8f16f32 = fptrunc <8 x float> poison to <8 x bfloat>1301  %truncv16f16f32 = fptrunc <16 x float> poison to <16 x bfloat>1302  %truncf16f64 = fptrunc double poison to bfloat1303  %truncv2f16f64 = fptrunc <2 x double> poison to <2 x bfloat>1304  %truncv4f16f64 = fptrunc <4 x double> poison to <4 x bfloat>1305  %truncv8f16f64 = fptrunc <8 x double> poison to <8 x bfloat>1306  %truncv16f16f64 = fptrunc <16 x double> poison to <16 x bfloat>1307  ret void1308}1309