Landing: e870be66c6ad

Project / Subsystem

gcc / i386

Date

2026-07-09

Author

liuhongt

Commit

e870be66c6adb856b2ee8869801f8c4542b3a914

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
i386
patch_id
commit_hash
e870be66c6adb856b2ee8869801f8c4542b3a914
source_type
github
headline
i386: Add vector lrint expanders for conversions
tldr
Enables vectorizer to use new conversion instructions for 'lrint' operations.
author
liuhongt
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • i386
  • vectorization
  • optimization
  • intrinsics
discussion_id_link
bugzilla_pr
date
2026-07-09T00:00:00.000Z

This commit exposes existing vector conversion instructions, vcvtps2qq and vcvtpd2dq, through lrint optabs. This allows the vectorizer to utilize these specialized instructions instead of falling back to less efficient scalar conversion sequences when determining the nearest integral value for floating-point numbers. New tests have been added to verify this functionality.