SIMD and other techniques for fast numerical programming with gcc

bert hubert

Netherlabs Computer Consulting BV

Table of Contents

1. Introduction
Thanks to
2. Modern CPUs
3. Theory
4. First code example using gcc vector support
5. Floating point SIMD using compiler built-ins
SSE built-ins
SSE2 built-ins
SSE-3 built-ins
3DNow! built-ins
6. Integer SIMD using compiler built-ins
7. Bitwise arithmetic
8. Using arrays, or, what is this thing called 'Alignment'?
9. Making effective use of the L1/L2/L3 cache
10. Pipelines and instruction pairing
11. Current bugs
12. Autovectorization