|
7 | 7 | //===----------------------------------------------------------------------===//
|
8 | 8 | //
|
9 | 9 | // This file implements target-independent rewrites and utilities to emulate
|
10 |
| -// narrow types that are not supported by the target hardware, e.g. i4, using |
11 |
| -// wider types, e.g. i8. |
| 10 | +// narrow types that are not supported by the target hardware, e.g. i4 |
| 11 | +// ("emulated type"), using wider types, e.g. i8 ("container type"). |
12 | 12 | //
|
13 | 13 | /// Currently, only power-of-two integer types are supported. These are
|
14 | 14 | /// converted to wider integers that are either 8 bits wide or wider.
|
@@ -2022,19 +2022,19 @@ void vector::populateVectorNarrowTypeRewritePatterns(
|
2022 | 2022 |
|
2023 | 2023 | // Patterns for aligned cases. We set higher priority as they are expected to
|
2024 | 2024 | // generate better performance for aligned cases.
|
2025 |
| - // The emulated type is always i8. |
| 2025 | + // The container type is always i8. |
2026 | 2026 | patterns.add<RewriteAlignedSubByteIntExt<arith::ExtSIOp, /*isSigned=*/true>,
|
2027 | 2027 | RewriteAlignedSubByteIntExt<arith::SIToFPOp, /*isSigned=*/true>,
|
2028 | 2028 | RewriteAlignedSubByteIntTrunc>(patterns.getContext(),
|
2029 | 2029 | benefit.getBenefit() + 1);
|
2030 |
| - // The emulated type is always i8. |
| 2030 | + // The container type is always i8. |
2031 | 2031 | patterns
|
2032 | 2032 | .add<RewriteAlignedSubByteIntExt<arith::ExtUIOp, /*isSigned=*/false>,
|
2033 | 2033 | RewriteAlignedSubByteIntExt<arith::UIToFPOp, /*isSigned=*/false>>(
|
2034 | 2034 | patterns.getContext(), benefit.getBenefit() + 1);
|
2035 | 2035 | }
|
2036 | 2036 |
|
2037 |
| -// The emulated type is always i8. |
| 2037 | +// The container type is always i8. |
2038 | 2038 | void vector::populateVectorTransposeNarrowTypeRewritePatterns(
|
2039 | 2039 | RewritePatternSet &patterns, PatternBenefit benefit) {
|
2040 | 2040 | patterns.add<RewriteVectorTranspose>(patterns.getContext(), benefit);
|
|
0 commit comments