Skip to content

mem* intrinsics are not 64 bit safe #1081

@llvmbot

Description

@llvmbot
Bugzilla Link 709
Resolution FIXED
Resolved on Feb 22, 2010 12:51
Version 1.0
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

The definition of the memcpy and friends do match the definition needed and used
on 64 bit hosts. the length field should be a ulong.

However, to stay consistent with the fixed type based on name, we need 2
intrinsics for each mem* intrinsic. A 32 bit version and a 64 bit version.

on alpha llvm.memcpy is void %llvm.memcpy(sbyte*, sbyte*, ulong, uint), whereas
SimplifyLibCalls was inserting llvm.memcpy(sbyte*, sbyte*, uint, uint) which is
not correct (but matches LangRef).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions