Abstract
In Chapter 8, you learned how to use AVX instructions to perform packed integer operations using 128-bit wide operands and the XMM register set. In this chapter, you’ll learn how to carry out similar operations using AVX2 instructions using 256-bit wide operands and the YMM register set. This chapter’s source code examples are divided into two major sections. The first section contains elementary examples that illustrate elementary packed integer operations using AVX2 instructions. The second section is a continuation of the SIMD image processing techniques first presented in Chapter 8. This section also spotlights a simple method that you can use to benchmark the performance of an assembly language function.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A program should verify processor support for popcnt using the cpuid instruction as explained in Chapter 16.
- 2.
Latency is the number of clock cycles required to complete execution of an instruction’s micro-ops. Throughput is the number of clock cycles that the processor must wait before the execution unit issue ports can accept the same instruction.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature
About this chapter
Cite this chapter
Kusswurm, D. (2023). AVX2 Programming – Packed Integers. In: Modern X86 Assembly Language Programming. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-9603-5_10
Download citation
DOI: https://doi.org/10.1007/978-1-4842-9603-5_10
Published:
Publisher Name: Apress, Berkeley, CA
Print ISBN: 978-1-4842-9602-8
Online ISBN: 978-1-4842-9603-5
eBook Packages: Professional and Applied ComputingProfessional and Applied Computing (R0)Apress Access Books