Landing: 26e88fe809de

Project / Subsystem

gcc / middle-end

Date

2026-04-17

Author

Tamar Christina

Commit

26e88fe809de0f1a1812c99e2e0106afb03257b3

Source

github

Impact

7/10

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
middle-end
patch_id
commit_hash
26e88fe809de0f1a1812c99e2e0106afb03257b3
source_type
github
headline
Middle-end: Disable CRC pass under -Os when CRC optabs are missing.
tldr
Disables the CRC table-based expansion during optimization for size (`-Os`) when the target architecture lacks specific CRC instruction support.
why_it_matters
Prevents significant code size increases caused by CRC table expansion on architectures without native CRC instructions when optimizing for size.
author
Tamar Christina
impact_score
7
impact_rationale
Significant impact on code size when optimizing for size on certain architectures without CRC instructions.
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • CRC
  • code size
  • aarch64
discussion_id_link
bugzilla_pr
date
2026-04-17T00:00:00.000Z

When compiling with -Os for architectures lacking CRC optabs, the CRC pass can significantly increase code size by generating a large lookup table. This commit disables the CRC table-based expansion in such scenarios, preventing the code size regression. It also adds new tests for CRC functionality on AArch64.