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