[PATCH] D32416: [x86, SSE] AVX1 PR28129

Zvi Rackover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 14:17:54 PDT 2017


zvi added a comment.

Here's what IACA reports for Sandybridge:

Before:

| Num Of | Ports pressure in cycles |     |
| Uops   | 0  - DV                  | 1   | 2  -  D | 3  -  D | 4 | 5   |    |
| 1      |                          | 0.3 |         |         |   | 0.7 |    | vpcmpeqd xmm1, xmm1, xmm1         |
| 1      |                          |     |         |         |   | 1.0 |    | vinsertf128 ymm1, ymm1, xmm1, 0x1 |
| 1      | 1.0                      |     |         |         |   |     | CP | vblendps ymm0, ymm1, ymm0, 0xaa   |
| 1      |                          | 1.0 |         |         |   |     | CP | vcvtdq2ps ymm0, ymm0              |

After:

| Num Of | Ports pressure in cycles |     |
| Uops   | 0  - DV                  | 1   | 2  -  D | 3  -  D | 4 | 5   |    |
| 1*     |                          |     |         |         |   |     |    | vxorps ymm1, ymm1, ymm1         |
| 1      |                          | 1.0 |         |         |   |     |    | vcmpps ymm1, ymm1, ymm1, 0xf    |
| 1      | 0.5                      |     |         |         |   | 0.5 | CP | vblendps ymm0, ymm1, ymm0, 0xaa |
| 1      |                          | 1.0 |         |         |   |     | CP | vcvtdq2ps ymm0, ymm0            |

\* - instruction micro-ops not bound to a port


https://reviews.llvm.org/D32416





More information about the llvm-commits mailing list