This is an archive of the discontinued LLVM Phabricator instance.

[X86] Transform amx pointer.
AbandonedPublic

Authored by LuoYuanke on Dec 23 2020, 6:03 PM.

Details

Summary

Front-end bitcast <256 x i32> to x86_amx and generate load/store <256 x i32>*.
In instruction combine pass it transform load/store <256 x i32>* to
load/store x86_amx*. In the amx type lowering pass , we lower the load/store
instructions to amx load/store intrinsics with the stride value 64.

Diff Detail

Event Timeline

LuoYuanke created this revision.Dec 23 2020, 6:03 PM
LuoYuanke requested review of this revision.Dec 23 2020, 6:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 23 2020, 6:03 PM
LuoYuanke updated this revision to Diff 332098.Mar 20 2021, 5:40 AM

Support PHI operation.

LuoYuanke edited the summary of this revision. (Show Details)Mar 20 2021, 5:44 AM
LuoYuanke edited the summary of this revision. (Show Details)
LuoYuanke added a subscriber: annita.zhang.

a few style comments

llvm/lib/Target/X86/X86LowerAMXType.cpp
94

isa<>

122

isa<>

289

'''
if (auto *ST = dyn_cast<StoreInst>(I))
'''

What's the status here?

lebedev.ri resigned from this revision.Jan 12 2023, 5:24 PM

This review seems to be stuck/dead, consider abandoning if no longer relevant.

Herald added a project: Restricted Project. · View Herald TranscriptJan 12 2023, 5:24 PM
Herald added a subscriber: StephenFan. · View Herald Transcript
LuoYuanke abandoned this revision.Jan 12 2023, 6:04 PM

We have amx cast instrinsics for vector and x86_amx type and front-end would use amx cast instrinsics instead of bitcast. I don't think we need this patch now.