1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s 3 4 blendpd $11, %xmm0, %xmm2 5 blendpd $11, (%rax), %xmm2 6 7 blendps $11, %xmm0, %xmm2 8 blendps $11, (%rax), %xmm2 9 10 blendvpd %xmm0, %xmm2 11 blendvpd (%rax), %xmm2 12 13 blendvps %xmm0, %xmm2 14 blendvps (%rax), %xmm2 15 16 dppd $22, %xmm0, %xmm2 17 dppd $22, (%rax), %xmm2 18 19 dpps $22, %xmm0, %xmm2 20 dpps $22, (%rax), %xmm2 21 22 extractps $1, %xmm0, %rcx 23 extractps $1, %xmm0, (%rax) 24 25 insertps $1, %xmm0, %xmm2 26 insertps $1, (%rax), %xmm2 27 28 movntdqa (%rax), %xmm2 29 30 mpsadbw $1, %xmm0, %xmm2 31 mpsadbw $1, (%rax), %xmm2 32 33 packusdw %xmm0, %xmm2 34 packusdw (%rax), %xmm2 35 36 pblendvb %xmm0, %xmm2 37 pblendvb (%rax), %xmm2 38 39 pblendw $11, %xmm0, %xmm2 40 pblendw $11, (%rax), %xmm2 41 42 pcmpeqq %xmm0, %xmm2 43 pcmpeqq (%rax), %xmm2 44 45 pextrb $1, %xmm0, %ecx 46 pextrb $1, %xmm0, (%rax) 47 48 pextrd $1, %xmm0, %ecx 49 pextrd $1, %xmm0, (%rax) 50 51 pextrq $1, %xmm0, %rcx 52 pextrq $1, %xmm0, (%rax) 53 54 pextrw $1, %xmm0, (%rax) 55 56 phminposuw %xmm0, %xmm2 57 phminposuw (%rax), %xmm2 58 59 pinsrb $1, %eax, %xmm1 60 pinsrb $1, (%rax), %xmm1 61 62 pinsrd $1, %eax, %xmm1 63 pinsrd $1, (%rax), %xmm1 64 65 pinsrq $1, %rax, %xmm1 66 pinsrq $1, (%rax), %xmm1 67 68 pmaxsb %xmm0, %xmm2 69 pmaxsb (%rax), %xmm2 70 71 pmaxsd %xmm0, %xmm2 72 pmaxsd (%rax), %xmm2 73 74 pmaxud %xmm0, %xmm2 75 pmaxud (%rax), %xmm2 76 77 pmaxuw %xmm0, %xmm2 78 pmaxuw (%rax), %xmm2 79 80 pminsb %xmm0, %xmm2 81 pminsb (%rax), %xmm2 82 83 pminsd %xmm0, %xmm2 84 pminsd (%rax), %xmm2 85 86 pminud %xmm0, %xmm2 87 pminud (%rax), %xmm2 88 89 pminuw %xmm0, %xmm2 90 pminuw (%rax), %xmm2 91 92 pmovsxbd %xmm0, %xmm2 93 pmovsxbd (%rax), %xmm2 94 95 pmovsxbq %xmm0, %xmm2 96 pmovsxbq (%rax), %xmm2 97 98 pmovsxbw %xmm0, %xmm2 99 pmovsxbw (%rax), %xmm2 100 101 pmovsxdq %xmm0, %xmm2 102 pmovsxdq (%rax), %xmm2 103 104 pmovsxwd %xmm0, %xmm2 105 pmovsxwd (%rax), %xmm2 106 107 pmovsxwq %xmm0, %xmm2 108 pmovsxwq (%rax), %xmm2 109 110 pmovzxbd %xmm0, %xmm2 111 pmovzxbd (%rax), %xmm2 112 113 pmovzxbq %xmm0, %xmm2 114 pmovzxbq (%rax), %xmm2 115 116 pmovzxbw %xmm0, %xmm2 117 pmovzxbw (%rax), %xmm2 118 119 pmovzxdq %xmm0, %xmm2 120 pmovzxdq (%rax), %xmm2 121 122 pmovzxwd %xmm0, %xmm2 123 pmovzxwd (%rax), %xmm2 124 125 pmovzxwq %xmm0, %xmm2 126 pmovzxwq (%rax), %xmm2 127 128 pmuldq %xmm0, %xmm2 129 pmuldq (%rax), %xmm2 130 131 pmulld %xmm0, %xmm2 132 pmulld (%rax), %xmm2 133 134 ptest %xmm0, %xmm1 135 ptest (%rax), %xmm1 136 137 roundpd $1, %xmm0, %xmm2 138 roundpd $1, (%rax), %xmm2 139 140 roundps $1, %xmm0, %xmm2 141 roundps $1, (%rax), %xmm2 142 143 roundsd $1, %xmm0, %xmm2 144 roundsd $1, (%rax), %xmm2 145 146 roundss $1, %xmm0, %xmm2 147 roundss $1, (%rax), %xmm2 148 149 # CHECK: Instruction Info: 150 # CHECK-NEXT: [1]: #uOps 151 # CHECK-NEXT: [2]: Latency 152 # CHECK-NEXT: [3]: RThroughput 153 # CHECK-NEXT: [4]: MayLoad 154 # CHECK-NEXT: [5]: MayStore 155 # CHECK-NEXT: [6]: HasSideEffects (U) 156 157 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: 158 # CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2 159 # CHECK-NEXT: 2 7 0.50 * blendpd $11, (%rax), %xmm2 160 # CHECK-NEXT: 1 1 0.33 blendps $11, %xmm0, %xmm2 161 # CHECK-NEXT: 2 7 0.50 * blendps $11, (%rax), %xmm2 162 # CHECK-NEXT: 2 2 0.67 blendvpd %xmm0, %xmm0, %xmm2 163 # CHECK-NEXT: 3 8 0.67 * blendvpd %xmm0, (%rax), %xmm2 164 # CHECK-NEXT: 2 2 0.67 blendvps %xmm0, %xmm0, %xmm2 165 # CHECK-NEXT: 3 8 0.67 * blendvps %xmm0, (%rax), %xmm2 166 # CHECK-NEXT: 3 9 1.00 dppd $22, %xmm0, %xmm2 167 # CHECK-NEXT: 4 15 1.00 * dppd $22, (%rax), %xmm2 168 # CHECK-NEXT: 4 13 1.50 dpps $22, %xmm0, %xmm2 169 # CHECK-NEXT: 5 19 1.50 * dpps $22, (%rax), %xmm2 170 # CHECK-NEXT: 2 3 1.00 extractps $1, %xmm0, %ecx 171 # CHECK-NEXT: 3 2 1.00 * extractps $1, %xmm0, (%rax) 172 # CHECK-NEXT: 1 1 1.00 insertps $1, %xmm0, %xmm2 173 # CHECK-NEXT: 2 7 1.00 * insertps $1, (%rax), %xmm2 174 # CHECK-NEXT: 1 6 0.50 * movntdqa (%rax), %xmm2 175 # CHECK-NEXT: 2 4 2.00 mpsadbw $1, %xmm0, %xmm2 176 # CHECK-NEXT: 3 10 2.00 * mpsadbw $1, (%rax), %xmm2 177 # CHECK-NEXT: 1 1 1.00 packusdw %xmm0, %xmm2 178 # CHECK-NEXT: 2 7 1.00 * packusdw (%rax), %xmm2 179 # CHECK-NEXT: 2 2 0.67 pblendvb %xmm0, %xmm0, %xmm2 180 # CHECK-NEXT: 3 8 0.67 * pblendvb %xmm0, (%rax), %xmm2 181 # CHECK-NEXT: 1 1 1.00 pblendw $11, %xmm0, %xmm2 182 # CHECK-NEXT: 2 7 1.00 * pblendw $11, (%rax), %xmm2 183 # CHECK-NEXT: 1 1 0.50 pcmpeqq %xmm0, %xmm2 184 # CHECK-NEXT: 2 7 0.50 * pcmpeqq (%rax), %xmm2 185 # CHECK-NEXT: 2 3 1.00 pextrb $1, %xmm0, %ecx 186 # CHECK-NEXT: 3 2 1.00 * pextrb $1, %xmm0, (%rax) 187 # CHECK-NEXT: 2 3 1.00 pextrd $1, %xmm0, %ecx 188 # CHECK-NEXT: 3 2 1.00 * pextrd $1, %xmm0, (%rax) 189 # CHECK-NEXT: 2 3 1.00 pextrq $1, %xmm0, %rcx 190 # CHECK-NEXT: 3 2 1.00 * pextrq $1, %xmm0, (%rax) 191 # CHECK-NEXT: 3 2 1.00 * pextrw $1, %xmm0, (%rax) 192 # CHECK-NEXT: 1 4 0.50 phminposuw %xmm0, %xmm2 193 # CHECK-NEXT: 2 10 0.50 * phminposuw (%rax), %xmm2 194 # CHECK-NEXT: 2 2 2.00 pinsrb $1, %eax, %xmm1 195 # CHECK-NEXT: 2 6 1.00 * pinsrb $1, (%rax), %xmm1 196 # CHECK-NEXT: 2 2 2.00 pinsrd $1, %eax, %xmm1 197 # CHECK-NEXT: 2 6 1.00 * pinsrd $1, (%rax), %xmm1 198 # CHECK-NEXT: 2 2 2.00 pinsrq $1, %rax, %xmm1 199 # CHECK-NEXT: 2 6 1.00 * pinsrq $1, (%rax), %xmm1 200 # CHECK-NEXT: 1 1 0.50 pmaxsb %xmm0, %xmm2 201 # CHECK-NEXT: 2 7 0.50 * pmaxsb (%rax), %xmm2 202 # CHECK-NEXT: 1 1 0.50 pmaxsd %xmm0, %xmm2 203 # CHECK-NEXT: 2 7 0.50 * pmaxsd (%rax), %xmm2 204 # CHECK-NEXT: 1 1 0.50 pmaxud %xmm0, %xmm2 205 # CHECK-NEXT: 2 7 0.50 * pmaxud (%rax), %xmm2 206 # CHECK-NEXT: 1 1 0.50 pmaxuw %xmm0, %xmm2 207 # CHECK-NEXT: 2 7 0.50 * pmaxuw (%rax), %xmm2 208 # CHECK-NEXT: 1 1 0.50 pminsb %xmm0, %xmm2 209 # CHECK-NEXT: 2 7 0.50 * pminsb (%rax), %xmm2 210 # CHECK-NEXT: 1 1 0.50 pminsd %xmm0, %xmm2 211 # CHECK-NEXT: 2 7 0.50 * pminsd (%rax), %xmm2 212 # CHECK-NEXT: 1 1 0.50 pminud %xmm0, %xmm2 213 # CHECK-NEXT: 2 7 0.50 * pminud (%rax), %xmm2 214 # CHECK-NEXT: 1 1 0.50 pminuw %xmm0, %xmm2 215 # CHECK-NEXT: 2 7 0.50 * pminuw (%rax), %xmm2 216 # CHECK-NEXT: 1 1 1.00 pmovsxbd %xmm0, %xmm2 217 # CHECK-NEXT: 2 6 1.00 * pmovsxbd (%rax), %xmm2 218 # CHECK-NEXT: 1 1 1.00 pmovsxbq %xmm0, %xmm2 219 # CHECK-NEXT: 2 6 1.00 * pmovsxbq (%rax), %xmm2 220 # CHECK-NEXT: 1 1 1.00 pmovsxbw %xmm0, %xmm2 221 # CHECK-NEXT: 2 6 1.00 * pmovsxbw (%rax), %xmm2 222 # CHECK-NEXT: 1 1 1.00 pmovsxdq %xmm0, %xmm2 223 # CHECK-NEXT: 2 6 1.00 * pmovsxdq (%rax), %xmm2 224 # CHECK-NEXT: 1 1 1.00 pmovsxwd %xmm0, %xmm2 225 # CHECK-NEXT: 2 6 1.00 * pmovsxwd (%rax), %xmm2 226 # CHECK-NEXT: 1 1 1.00 pmovsxwq %xmm0, %xmm2 227 # CHECK-NEXT: 2 6 1.00 * pmovsxwq (%rax), %xmm2 228 # CHECK-NEXT: 1 1 1.00 pmovzxbd %xmm0, %xmm2 229 # CHECK-NEXT: 2 6 1.00 * pmovzxbd (%rax), %xmm2 230 # CHECK-NEXT: 1 1 1.00 pmovzxbq %xmm0, %xmm2 231 # CHECK-NEXT: 2 6 1.00 * pmovzxbq (%rax), %xmm2 232 # CHECK-NEXT: 1 1 1.00 pmovzxbw %xmm0, %xmm2 233 # CHECK-NEXT: 2 6 1.00 * pmovzxbw (%rax), %xmm2 234 # CHECK-NEXT: 1 1 1.00 pmovzxdq %xmm0, %xmm2 235 # CHECK-NEXT: 2 6 1.00 * pmovzxdq (%rax), %xmm2 236 # CHECK-NEXT: 1 1 1.00 pmovzxwd %xmm0, %xmm2 237 # CHECK-NEXT: 2 6 1.00 * pmovzxwd (%rax), %xmm2 238 # CHECK-NEXT: 1 1 1.00 pmovzxwq %xmm0, %xmm2 239 # CHECK-NEXT: 2 6 1.00 * pmovzxwq (%rax), %xmm2 240 # CHECK-NEXT: 1 4 0.50 pmuldq %xmm0, %xmm2 241 # CHECK-NEXT: 2 10 0.50 * pmuldq (%rax), %xmm2 242 # CHECK-NEXT: 2 10 1.00 pmulld %xmm0, %xmm2 243 # CHECK-NEXT: 3 16 1.00 * pmulld (%rax), %xmm2 244 # CHECK-NEXT: 2 3 1.00 ptest %xmm0, %xmm1 245 # CHECK-NEXT: 3 9 1.00 * ptest (%rax), %xmm1 246 # CHECK-NEXT: 2 8 1.00 roundpd $1, %xmm0, %xmm2 247 # CHECK-NEXT: 3 14 1.00 * roundpd $1, (%rax), %xmm2 248 # CHECK-NEXT: 2 8 1.00 roundps $1, %xmm0, %xmm2 249 # CHECK-NEXT: 3 14 1.00 * roundps $1, (%rax), %xmm2 250 # CHECK-NEXT: 2 8 1.00 roundsd $1, %xmm0, %xmm2 251 # CHECK-NEXT: 3 14 1.00 * roundsd $1, (%rax), %xmm2 252 # CHECK-NEXT: 2 8 1.00 roundss $1, %xmm0, %xmm2 253 # CHECK-NEXT: 3 14 1.00 * roundss $1, (%rax), %xmm2 254 255 # CHECK: Resources: 256 # CHECK-NEXT: [0] - SKLDivider 257 # CHECK-NEXT: [1] - SKLFPDivider 258 # CHECK-NEXT: [2] - SKLPort0 259 # CHECK-NEXT: [3] - SKLPort1 260 # CHECK-NEXT: [4] - SKLPort2 261 # CHECK-NEXT: [5] - SKLPort3 262 # CHECK-NEXT: [6] - SKLPort4 263 # CHECK-NEXT: [7] - SKLPort5 264 # CHECK-NEXT: [8] - SKLPort6 265 # CHECK-NEXT: [9] - SKLPort7 266 267 # CHECK: Resource pressure per iteration: 268 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 269 # CHECK-NEXT: - - 37.33 31.33 23.67 23.67 5.00 63.33 - 1.67 270 271 # CHECK: Resource pressure by instruction: 272 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: 273 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendpd $11, %xmm0, %xmm2 274 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendpd $11, (%rax), %xmm2 275 # CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - blendps $11, %xmm0, %xmm2 276 # CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - blendps $11, (%rax), %xmm2 277 # CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvpd %xmm0, %xmm0, %xmm2 278 # CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvpd %xmm0, (%rax), %xmm2 279 # CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - blendvps %xmm0, %xmm0, %xmm2 280 # CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - blendvps %xmm0, (%rax), %xmm2 281 # CHECK-NEXT: - - 1.00 1.00 - - - 1.00 - - dppd $22, %xmm0, %xmm2 282 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - 1.00 - - dppd $22, (%rax), %xmm2 283 # CHECK-NEXT: - - 1.50 1.50 - - - 1.00 - - dpps $22, %xmm0, %xmm2 284 # CHECK-NEXT: - - 1.50 1.50 0.50 0.50 - 1.00 - - dpps $22, (%rax), %xmm2 285 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - extractps $1, %xmm0, %ecx 286 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 extractps $1, %xmm0, (%rax) 287 # CHECK-NEXT: - - - - - - - 1.00 - - insertps $1, %xmm0, %xmm2 288 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - insertps $1, (%rax), %xmm2 289 # CHECK-NEXT: - - - - 0.50 0.50 - - - - movntdqa (%rax), %xmm2 290 # CHECK-NEXT: - - - - - - - 2.00 - - mpsadbw $1, %xmm0, %xmm2 291 # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - mpsadbw $1, (%rax), %xmm2 292 # CHECK-NEXT: - - - - - - - 1.00 - - packusdw %xmm0, %xmm2 293 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - packusdw (%rax), %xmm2 294 # CHECK-NEXT: - - 0.67 0.67 - - - 0.67 - - pblendvb %xmm0, %xmm0, %xmm2 295 # CHECK-NEXT: - - 0.67 0.67 0.50 0.50 - 0.67 - - pblendvb %xmm0, (%rax), %xmm2 296 # CHECK-NEXT: - - - - - - - 1.00 - - pblendw $11, %xmm0, %xmm2 297 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pblendw $11, (%rax), %xmm2 298 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pcmpeqq %xmm0, %xmm2 299 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pcmpeqq (%rax), %xmm2 300 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrb $1, %xmm0, %ecx 301 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrb $1, %xmm0, (%rax) 302 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrd $1, %xmm0, %ecx 303 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrd $1, %xmm0, (%rax) 304 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - pextrq $1, %xmm0, %rcx 305 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrq $1, %xmm0, (%rax) 306 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 pextrw $1, %xmm0, (%rax) 307 # CHECK-NEXT: - - 0.50 0.50 - - - - - - phminposuw %xmm0, %xmm2 308 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - phminposuw (%rax), %xmm2 309 # CHECK-NEXT: - - - - - - - 2.00 - - pinsrb $1, %eax, %xmm1 310 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrb $1, (%rax), %xmm1 311 # CHECK-NEXT: - - - - - - - 2.00 - - pinsrd $1, %eax, %xmm1 312 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrd $1, (%rax), %xmm1 313 # CHECK-NEXT: - - - - - - - 2.00 - - pinsrq $1, %rax, %xmm1 314 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pinsrq $1, (%rax), %xmm1 315 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsb %xmm0, %xmm2 316 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsb (%rax), %xmm2 317 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxsd %xmm0, %xmm2 318 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxsd (%rax), %xmm2 319 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxud %xmm0, %xmm2 320 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxud (%rax), %xmm2 321 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pmaxuw %xmm0, %xmm2 322 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmaxuw (%rax), %xmm2 323 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsb %xmm0, %xmm2 324 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsb (%rax), %xmm2 325 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pminsd %xmm0, %xmm2 326 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminsd (%rax), %xmm2 327 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pminud %xmm0, %xmm2 328 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminud (%rax), %xmm2 329 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pminuw %xmm0, %xmm2 330 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pminuw (%rax), %xmm2 331 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbd %xmm0, %xmm2 332 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbd (%rax), %xmm2 333 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbq %xmm0, %xmm2 334 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbq (%rax), %xmm2 335 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxbw %xmm0, %xmm2 336 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxbw (%rax), %xmm2 337 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxdq %xmm0, %xmm2 338 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxdq (%rax), %xmm2 339 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwd %xmm0, %xmm2 340 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwd (%rax), %xmm2 341 # CHECK-NEXT: - - - - - - - 1.00 - - pmovsxwq %xmm0, %xmm2 342 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovsxwq (%rax), %xmm2 343 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbd %xmm0, %xmm2 344 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbd (%rax), %xmm2 345 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbq %xmm0, %xmm2 346 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbq (%rax), %xmm2 347 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxbw %xmm0, %xmm2 348 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxbw (%rax), %xmm2 349 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxdq %xmm0, %xmm2 350 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxdq (%rax), %xmm2 351 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwd %xmm0, %xmm2 352 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwd (%rax), %xmm2 353 # CHECK-NEXT: - - - - - - - 1.00 - - pmovzxwq %xmm0, %xmm2 354 # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - pmovzxwq (%rax), %xmm2 355 # CHECK-NEXT: - - 0.50 0.50 - - - - - - pmuldq %xmm0, %xmm2 356 # CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - pmuldq (%rax), %xmm2 357 # CHECK-NEXT: - - 1.00 1.00 - - - - - - pmulld %xmm0, %xmm2 358 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - pmulld (%rax), %xmm2 359 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1 360 # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1 361 # CHECK-NEXT: - - 1.00 1.00 - - - - - - roundpd $1, %xmm0, %xmm2 362 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2 363 # CHECK-NEXT: - - 1.00 1.00 - - - - - - roundps $1, %xmm0, %xmm2 364 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2 365 # CHECK-NEXT: - - 1.00 1.00 - - - - - - roundsd $1, %xmm0, %xmm2 366 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2 367 # CHECK-NEXT: - - 1.00 1.00 - - - - - - roundss $1, %xmm0, %xmm2 368 # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2 369