Skip to content

[DirectX] Legalize memcpy #137188

Closed
Closed
@farzonl

Description

@farzonl

Problem

Currently we are emitting memcpys both 64bit and 32bit versions
The DML shaders will have errors like so:

error: Unsupported intrinsic llvm.memcpy.p3.p3.i32 for DXIL lowering

We emit this error because the memcpy intrinsic is not valid DXIL.

These memcpys tend to be in the hlsl_groupshared ie addressspace(3). This might make the memcpy more involved to serialize into a set of store calls.

Example

tail call void @llvm.memcpy.p3.p3.i32(ptr addrspace(3) align 4 %scevgep, ptr addrspace(3) align 4 %scevgep19, i32 %38, i1 false)

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Closed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions