- Page 1 and 2: NIntel® 64 and IA-32 Architectures
- Page 4 and 5: CONTENTS2.3.1 Front End. . . . . .
- Page 6 and 7: CONTENTS3.7 PREFETCHING . . . . . .
- Page 8 and 9: CONTENTS5.7.2.1 Increasing Memory B
- Page 10 and 11: CONTENTS9.5.3 Streaming Store Instr
- Page 14 and 15: CONTENTSEXAMPLESPAGEExample 3-1. As
- Page 16 and 17: CONTENTSExample 5-29. Clipping to a
- Page 18 and 19: CONTENTSFIGURESPAGEFigure 2-1. Inte
- Page 20 and 21: CONTENTSTABLESPAGETable 2-1. Compon
- Page 22 and 23: INTRODUCTION1.2 ABOUT THIS MANUALIn
- Page 24 and 25: INTRODUCTION• Using Spin-Loops on
- Page 26 and 27: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 28 and 29: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 30 and 31: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 32 and 33: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 34 and 35: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 36 and 37: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 38 and 39: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 40 and 41: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 42 and 43: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 44 and 45: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 46 and 47: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 48 and 49: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 50 and 51: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 52 and 53: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 54 and 55: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 56 and 57: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 58 and 59: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 60 and 61: INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 62 and 63:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 64 and 65:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 66 and 67:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 68 and 69:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 70 and 71:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 72 and 73:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 74 and 75:
INTEL® 64 AND IA-32 PROCESSOR ARCH
- Page 76 and 77:
GENERAL OPTIMIZATION GUIDELINES•
- Page 78 and 79:
GENERAL OPTIMIZATION GUIDELINES•
- Page 80 and 81:
GENERAL OPTIMIZATION GUIDELINESThes
- Page 82 and 83:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 84 and 85:
GENERAL OPTIMIZATION GUIDELINESPent
- Page 86 and 87:
GENERAL OPTIMIZATION GUIDELINESThe
- Page 88:
GENERAL OPTIMIZATION GUIDELINESUser
- Page 91 and 92:
GENERAL OPTIMIZATION GUIDELINESWith
- Page 93 and 94:
GENERAL OPTIMIZATION GUIDELINESCMP
- Page 95 and 96:
GENERAL OPTIMIZATION GUIDELINESAsse
- Page 97 and 98:
GENERAL OPTIMIZATION GUIDELINESFals
- Page 99 and 100:
GENERAL OPTIMIZATION GUIDELINESproc
- Page 101 and 102:
GENERAL OPTIMIZATION GUIDELINESUsin
- Page 103 and 104:
GENERAL OPTIMIZATION GUIDELINESAsse
- Page 105 and 106:
GENERAL OPTIMIZATION GUIDELINESThes
- Page 107 and 108:
GENERAL OPTIMIZATION GUIDELINESWhen
- Page 109 and 110:
GENERAL OPTIMIZATION GUIDELINESbefo
- Page 111 and 112:
GENERAL OPTIMIZATION GUIDELINES3.5.
- Page 113 and 114:
GENERAL OPTIMIZATION GUIDELINESThe
- Page 115 and 116:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 117 and 118:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 119 and 120:
GENERAL OPTIMIZATION GUIDELINEStigh
- Page 121 and 122:
GENERAL OPTIMIZATION GUIDELINESSoft
- Page 123 and 124:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 125 and 126:
GENERAL OPTIMIZATION GUIDELINES3.6.
- Page 127 and 128:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 129 and 130:
GENERAL OPTIMIZATION GUIDELINESStor
- Page 131 and 132:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 133 and 134:
GENERAL OPTIMIZATION GUIDELINESconc
- Page 135 and 136:
GENERAL OPTIMIZATION GUIDELINES—
- Page 137 and 138:
GENERAL OPTIMIZATION GUIDELINESneed
- Page 139 and 140:
GENERAL OPTIMIZATION GUIDELINESTher
- Page 141 and 142:
GENERAL OPTIMIZATION GUIDELINES3.6.
- Page 143 and 144:
GENERAL OPTIMIZATION GUIDELINES3.7.
- Page 145 and 146:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 147 and 148:
GENERAL OPTIMIZATION GUIDELINESMeth
- Page 149 and 150:
GENERAL OPTIMIZATION GUIDELINESboun
- Page 151 and 152:
GENERAL OPTIMIZATION GUIDELINESIn s
- Page 153 and 154:
GENERAL OPTIMIZATION GUIDELINEStran
- Page 155 and 156:
GENERAL OPTIMIZATION GUIDELINES3.8.
- Page 157 and 158:
GENERAL OPTIMIZATION GUIDELINESExam
- Page 159 and 160:
GENERAL OPTIMIZATION GUIDELINESoper
- Page 161 and 162:
CHAPTER 4CODING FOR SIMD ARCHITECTU
- Page 163 and 164:
CODING FOR SIMD ARCHITECTURES4.1.3
- Page 165 and 166:
CODING FOR SIMD ARCHITECTURESIdenti
- Page 167 and 168:
CODING FOR SIMD ARCHITECTURES• Vi
- Page 169 and 170:
CODING FOR SIMD ARCHITECTURESAs a b
- Page 171 and 172:
CODING FOR SIMD ARCHITECTURESExampl
- Page 173 and 174:
CODING FOR SIMD ARCHITECTURESExampl
- Page 175 and 176:
CODING FOR SIMD ARCHITECTURESIf in
- Page 177 and 178:
CODING FOR SIMD ARCHITECTURESthe fu
- Page 179 and 180:
CODING FOR SIMD ARCHITECTURESExampl
- Page 181 and 182:
CODING FOR SIMD ARCHITECTURES4 SIMD
- Page 183 and 184:
CODING FOR SIMD ARCHITECTURESExampl
- Page 185 and 186:
CODING FOR SIMD ARCHITECTURESchunks
- Page 187 and 188:
CODING FOR SIMD ARCHITECTURESThis i
- Page 189 and 190:
CHAPTER 5OPTIMIZING FOR SIMD INTEGE
- Page 191 and 192:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 193 and 194:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 195 and 196:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 197 and 198:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 199 and 200:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 201 and 202:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 203 and 204:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 205 and 206:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 207 and 208:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 209 and 210:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 211 and 212:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 213 and 214:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 215 and 216:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 217 and 218:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 219 and 220:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 221 and 222:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 223 and 224:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 225 and 226:
OPTIMIZING FOR SIMD INTEGER APPLICA
- Page 227 and 228:
CHAPTER 6OPTIMIZING FOR SIMD FLOATI
- Page 229 and 230:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 231 and 232:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 233 and 234:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 235 and 236:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 237 and 238:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 239 and 240:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 241 and 242:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 243 and 244:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 245 and 246:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 247 and 248:
OPTIMIZING FOR SIMD FLOATING-POINT
- Page 249 and 250:
CHAPTER 8MULTICORE AND HYPER-THREAD
- Page 251 and 252:
MULTICORE AND HYPER-THREADING TECHN
- Page 253 and 254:
MULTICORE AND HYPER-THREADING TECHN
- Page 255 and 256:
MULTICORE AND HYPER-THREADING TECHN
- Page 257 and 258:
MULTICORE AND HYPER-THREADING TECHN
- Page 259 and 260:
MULTICORE AND HYPER-THREADING TECHN
- Page 261 and 262:
MULTICORE AND HYPER-THREADING TECHN
- Page 263 and 264:
MULTICORE AND HYPER-THREADING TECHN
- Page 265 and 266:
MULTICORE AND HYPER-THREADING TECHN
- Page 267 and 268:
MULTICORE AND HYPER-THREADING TECHN
- Page 269 and 270:
MULTICORE AND HYPER-THREADING TECHN
- Page 271 and 272:
MULTICORE AND HYPER-THREADING TECHN
- Page 273 and 274:
MULTICORE AND HYPER-THREADING TECHN
- Page 275 and 276:
MULTICORE AND HYPER-THREADING TECHN
- Page 277 and 278:
MULTICORE AND HYPER-THREADING TECHN
- Page 279 and 280:
MULTICORE AND HYPER-THREADING TECHN
- Page 281 and 282:
MULTICORE AND HYPER-THREADING TECHN
- Page 283 and 284:
MULTICORE AND HYPER-THREADING TECHN
- Page 285 and 286:
MULTICORE AND HYPER-THREADING TECHN
- Page 287 and 288:
MULTICORE AND HYPER-THREADING TECHN
- Page 289 and 290:
MULTICORE AND HYPER-THREADING TECHN
- Page 291 and 292:
MULTICORE AND HYPER-THREADING TECHN
- Page 293 and 294:
CHAPTER 9OPTIMIZING CACHE USAGEOver
- Page 295 and 296:
OPTIMIZING CACHE USAGE• Use softw
- Page 297 and 298:
OPTIMIZING CACHE USAGEPREFETCH load
- Page 299 and 300:
OPTIMIZING CACHE USAGE9.5 CACHEABIL
- Page 301 and 302:
OPTIMIZING CACHE USAGEFor processor
- Page 303 and 304:
OPTIMIZING CACHE USAGEThe use of we
- Page 305 and 306:
OPTIMIZING CACHE USAGE9.6.1 Softwar
- Page 307 and 308:
OPTIMIZING CACHE USAGEmatic hardwar
- Page 309 and 310:
OPTIMIZING CACHE USAGEeach iteratio
- Page 311 and 312:
OPTIMIZING CACHE USAGEThis memory d
- Page 313 and 314:
OPTIMIZING CACHE USAGEFigure 9-5 de
- Page 315 and 316:
OPTIMIZING CACHE USAGEIf an applica
- Page 317 and 318:
OPTIMIZING CACHE USAGEunder-utiliza
- Page 319 and 320:
OPTIMIZING CACHE USAGEoccur at larg
- Page 321 and 322:
OPTIMIZING CACHE USAGEstrip list80
- Page 323 and 324:
OPTIMIZING CACHE USAGE9.7.2 Cache M
- Page 325 and 326:
OPTIMIZING CACHE USAGEExample 9-10.
- Page 327 and 328:
OPTIMIZING CACHE USAGEapproach to s
- Page 329 and 330:
OPTIMIZING CACHE USAGEProcessor, CP
- Page 331 and 332:
OPTIMIZING CACHE USAGE9.7.3.1 Cache
- Page 333 and 334:
CHAPTER 964-BIT MODE CODING GUIDELI
- Page 335 and 336:
64-BIT MODE CODING GUIDELINESFor ex
- Page 337 and 338:
64-BIT MODE CODING GUIDELINESIn pro
- Page 339 and 340:
CHAPTER 10POWER OPTIMIZATION FOR MO
- Page 341 and 342:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 343 and 344:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 345 and 346:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 347 and 348:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 349 and 350:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 351 and 352:
POWER OPTIMIZATION FOR MOBILE USAGE
- Page 353 and 354:
APPENDIX AAPPLICATION PERFORMANCETO
- Page 355 and 356:
APPLICATION PERFORMANCE TOOLSBest p
- Page 357 and 358:
APPLICATION PERFORMANCE TOOLSA.1.2.
- Page 359 and 360:
APPLICATION PERFORMANCE TOOLSExampl
- Page 361 and 362:
APPLICATION PERFORMANCE TOOLSExampl
- Page 363 and 364:
APPLICATION PERFORMANCE TOOLSA.2.1.
- Page 365 and 366:
APPLICATION PERFORMANCE TOOLSlibrar
- Page 367 and 368:
APPLICATION PERFORMANCE TOOLScritic
- Page 369 and 370:
APPENDIX BUSING PERFORMANCE MONITOR
- Page 371 and 372:
USING PERFORMANCE MONITORING EVENTS
- Page 373 and 374:
USING PERFORMANCE MONITORING EVENTS
- Page 375 and 376:
USING PERFORMANCE MONITORING EVENTS
- Page 377 and 378:
USING PERFORMANCE MONITORING EVENTS
- Page 379 and 380:
USING PERFORMANCE MONITORING EVENTS
- Page 381 and 382:
USING PERFORMANCE MONITORING EVENTS
- Page 383 and 384:
USING PERFORMANCE MONITORING EVENTS
- Page 385 and 386:
USING PERFORMANCE MONITORING EVENTS
- Page 387 and 388:
USING PERFORMANCE MONITORING EVENTS
- Page 389 and 390:
USING PERFORMANCE MONITORING EVENTS
- Page 391 and 392:
USING PERFORMANCE MONITORING EVENTS
- Page 393 and 394:
USING PERFORMANCE MONITORING EVENTS
- Page 395 and 396:
USING PERFORMANCE MONITORING EVENTS
- Page 397 and 398:
USING PERFORMANCE MONITORING EVENTS
- Page 399 and 400:
USING PERFORMANCE MONITORING EVENTS
- Page 401 and 402:
USING PERFORMANCE MONITORING EVENTS
- Page 403 and 404:
USING PERFORMANCE MONITORING EVENTS
- Page 405 and 406:
USING PERFORMANCE MONITORING EVENTS
- Page 407 and 408:
USING PERFORMANCE MONITORING EVENTS
- Page 409 and 410:
USING PERFORMANCE MONITORING EVENTS
- Page 411 and 412:
USING PERFORMANCE MONITORING EVENTS
- Page 413 and 414:
USING PERFORMANCE MONITORING EVENTS
- Page 415 and 416:
USING PERFORMANCE MONITORING EVENTS
- Page 417 and 418:
USING PERFORMANCE MONITORING EVENTS
- Page 419 and 420:
USING PERFORMANCE MONITORING EVENTS
- Page 421 and 422:
USING PERFORMANCE MONITORING EVENTS
- Page 423 and 424:
USING PERFORMANCE MONITORING EVENTS
- Page 425 and 426:
USING PERFORMANCE MONITORING EVENTS
- Page 427 and 428:
USING PERFORMANCE MONITORING EVENTS
- Page 429 and 430:
USING PERFORMANCE MONITORING EVENTS
- Page 431 and 432:
APPENDIX CINSTRUCTION LATENCY AND T
- Page 433 and 434:
INSTRUCTION LATENCY AND THROUGHPUTC
- Page 435 and 436:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 437 and 438:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 439 and 440:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 441 and 442:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 443 and 444:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 445 and 446:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 447 and 448:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 449 and 450:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 451 and 452:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 453 and 454:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 455 and 456:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 457 and 458:
INSTRUCTION LATENCY AND THROUGHPUTT
- Page 459 and 460:
APPENDIX DSTACK ALIGNMENTThis appen
- Page 461 and 462:
STACK ALIGNMENTD.1.1Aligned ESP-Bas
- Page 463 and 464:
STACK ALIGNMENTExample D-2. Aligned
- Page 465 and 466:
STACK ALIGNMENTD.2 INLINED ASSEMBLY
- Page 467 and 468:
APPENDIX ESUMMARY OF RULES AND SUGG
- Page 469 and 470:
SUMMARY OF RULES AND SUGGESTIONSloo
- Page 471 and 472:
SUMMARY OF RULES AND SUGGESTIONStha
- Page 473 and 474:
SUMMARY OF RULES AND SUGGESTIONSmod
- Page 475 and 476:
SUMMARY OF RULES AND SUGGESTIONStha
- Page 477 and 478:
SUMMARY OF RULES AND SUGGESTIONSavo
- Page 479 and 480:
INDEXNumerics64-bit modearithmetic,
- Page 481 and 482:
INDEXkey practices, 7-13loop unroll
- Page 483 and 484:
INDEXMMASKMOVDQU instruction, 8-7me
- Page 485 and 486:
INDEXRratios, B-50branching and fro
- Page 487 and 488:
INDEXwrite-combiningbuffer, 8-30mem
- Page 489 and 490:
ASIA PACIFICAustraliaIntel Corp.Lev