Landing: 9e3e6ceb3b18

Project / Subsystem

gcc / gcc

Date

2026-04-02

Author

Gopi Kumar Bulusu

Commit

9e3e6ceb3b18c0dd57f49ef7eb28c9462575a282

Source

github

Impact

5/10

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc
patch_id
commit_hash
9e3e6ceb3b18c0dd57f49ef7eb28c9462575a282
source_type
github
headline
Fix incorrect length for __builtin_bswap16.
tldr
Corrects the instruction length attribute for `__builtin_bswap16` on Microblaze to prevent scheduling errors.
why_it_matters
Addresses a scheduling issue on Microblaze, preventing potential crashes due to incorrect instruction placement in delay slots.
author
Gopi Kumar Bulusu
impact_score
5
impact_rationale
Fixes a scheduling issue related to `__builtin_bswap16` on Microblaze, preventing potential runtime issues.
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • microblaze
  • bswap16
  • scheduling
  • optimization
discussion_id_link
bugzilla_pr
date
2026-04-02T00:00:00.000Z

The bswaphi pattern, corresponding to __builtin_bswap16, was missing the length attribute, causing the compiler to assume a default length of 8 bytes. On Microblaze, this could lead to the 8-byte bswaphi instruction being incorrectly scheduled into a branch instruction’s delay slot, which only accommodates 4-byte instructions. This patch corrects the length attribute, preventing this scheduling error.