By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
World of SoftwareWorld of SoftwareWorld of Software
  • News
  • Software
  • Mobile
  • Computing
  • Gaming
  • Videos
  • More
    • Gadget
    • Web Stories
    • Trending
    • Press Release
Search
  • Privacy
  • Terms
  • Advertise
  • Contact
Copyright © All Rights Reserved. World of Software.
Reading: GCC 16 Lands Improved Memmove Behavior For x86/x86_64 CPUs
Share
Sign In
Notification Show More
Font ResizerAa
World of SoftwareWorld of Software
Font ResizerAa
  • Software
  • Mobile
  • Computing
  • Gadget
  • Gaming
  • Videos
Search
  • News
  • Software
  • Mobile
  • Computing
  • Gaming
  • Videos
  • More
    • Gadget
    • Web Stories
    • Trending
    • Press Release
Have an existing account? Sign In
Follow US
  • Privacy
  • Terms
  • Advertise
  • Contact
Copyright © All Rights Reserved. World of Software.
World of Software > Computing > GCC 16 Lands Improved Memmove Behavior For x86/x86_64 CPUs
Computing

GCC 16 Lands Improved Memmove Behavior For x86/x86_64 CPUs

News Room
Last updated: 2025/11/03 at 7:28 AM
News Room Published 3 November 2025
Share
GCC 16 Lands Improved Memmove Behavior For x86/x86_64 CPUs
SHARE

H.J. Lu, a long-time compiler expert at Intel, merged today improved memmove() behavior for the GNU Compiler Collection ahead of the upcoming GCC 16 release.

The change for GCC x86/x86_64 is for inlining memmove with overlapping unaligned loads and stores. H.J. Lu argued his rationale with the patch for inlining memmove functionality more:

“x86-64: Inline memmove with overlapping unaligned loads and stores

Inline memmove in 64-bit since there are much less registers available in 32-bit:

1. Load all sources into registers and store them together to avoid possible address overlap between source and destination.
2. For known size, first try to fully unroll with 8 registers.
3. For size <= 2 * MOVE_MAX, load all sources into 2 registers first and then store them together.
4. For size > 2 * MOVE_MAX and size <= 4 * MOVE_MAX, load all sources into 4 registers first and then store them together.
5. For size > 4 * MOVE_MAX and size <= 8 * MOVE_MAX, load all sources into 8 registers first and then store them together.
6. For size > 8 * MOVE_MAX,
a. If address of destination > address of source, copy backward with a 4 * MOVE_MAX loop with unaligned loads and stores. Load the first 4 * MOVE_MAX into 4 registers before the loop and store them after the loop to support overlapping addresses.
b. Otherwise, copy forward with a 4 * MOVE_MAX loop with unaligned loads and stores. Load the last 4 * MOVE_MAX into 4 registers before the loop and store them after the loop to support overlapping addresses.

Verified and benchmarked memmove implementations inlined with GPR, SSE2, AVX2 and AVX512 using glibc memmove tests.
…
Their performances are comparable with optimized memmove implementations in glibc on Intel Core i7-1195G7.”

The code was merged this morning ahead of GCC 16’s stage 3 milestone this month. GCC 16.1 as the first stable release of GCC 16 should be out around March~April.

Sign Up For Daily Newsletter

Be keep up! Get the latest breaking news delivered straight to your inbox.
By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.
Share This Article
Facebook Twitter Email Print
Share
What do you think?
Love0
Sad0
Happy0
Sleepy0
Angry0
Dead0
Wink0
Previous Article Elon Musk’s latest venture is less an encyclopedia than an algorithmic mirror of one man’s ideology Elon Musk’s latest venture is less an encyclopedia than an algorithmic mirror of one man’s ideology
Next Article If You Can’t Test It, Don’t Deploy It: The New Rule of AI Development? If You Can’t Test It, Don’t Deploy It: The New Rule of AI Development?
Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Stay Connected

248.1k Like
69.1k Follow
134k Pin
54.3k Follow

Latest News

Build Native-Like Bottom Sheets with CSS Scroll Snap  | HackerNoon
Build Native-Like Bottom Sheets with CSS Scroll Snap | HackerNoon
Computing
SpaceX Moves to Block Third-Party Starlink Sales in Unauthorized Markets
SpaceX Moves to Block Third-Party Starlink Sales in Unauthorized Markets
News
Zyppah Reviews – The Revolutionary Anti-Snoring Mouthpiece Changing Sleep Forever
Zyppah Reviews – The Revolutionary Anti-Snoring Mouthpiece Changing Sleep Forever
Gadget
How Indra Energy Brings a ‘Startup Mindset’ to the Utility Grid | HackerNoon
How Indra Energy Brings a ‘Startup Mindset’ to the Utility Grid | HackerNoon
Computing

You Might also Like

Build Native-Like Bottom Sheets with CSS Scroll Snap  | HackerNoon
Computing

Build Native-Like Bottom Sheets with CSS Scroll Snap | HackerNoon

32 Min Read
How Indra Energy Brings a ‘Startup Mindset’ to the Utility Grid | HackerNoon
Computing

How Indra Energy Brings a ‘Startup Mindset’ to the Utility Grid | HackerNoon

0 Min Read
LangChain vs LangGraph: A Beginner’s Guide to Building Smarter AI Workflows | HackerNoon
Computing

LangChain vs LangGraph: A Beginner’s Guide to Building Smarter AI Workflows | HackerNoon

11 Min Read
NCBA works to restore M-Shwari after outage locked customers out of savings
Computing

NCBA works to restore M-Shwari after outage locked customers out of savings

4 Min Read
//

World of Software is your one-stop website for the latest tech news and updates, follow us now to get the news that matters to you.

Quick Link

  • Privacy Policy
  • Terms of use
  • Advertise
  • Contact

Topics

  • Computing
  • Software
  • Press Release
  • Trending

Sign Up for Our Newsletter

Subscribe to our newsletter to get our newest articles instantly!

World of SoftwareWorld of Software
Follow US
Copyright © All Rights Reserved. World of Software.
Welcome Back!

Sign in to your account

Lost your password?