-
Notifications
You must be signed in to change notification settings - Fork 14.9k
AMDGPU: Fix true16 d16 entry table for DS pseudos #156419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AMDGPU: Fix true16 d16 entry table for DS pseudos #156419
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
: DS_1A1D_NORET_mc<opName, rc> { | ||
let has_m0_read = 0 in { | ||
let True16Predicate = UseRealTrue16Insts in { | ||
def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>, True16D16Table<NAME#"_D16_HI", NAME>; | ||
def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>, | ||
True16D16Table<NAME#"_D16_HI", NAME#"_gfx9">; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why gfx9, it does not have t16?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see, we do not define gfx11/gfx12 pseudos.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
: DS_1A1D_NORET_mc<opName, rc> { | ||
let has_m0_read = 0 in { | ||
let True16Predicate = UseRealTrue16Insts in { | ||
def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>, True16D16Table<NAME#"_D16_HI", NAME>; | ||
def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>, | ||
True16D16Table<NAME#"_D16_HI", NAME#"_gfx9">; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I see, we do not define gfx11/gfx12 pseudos.
This should be trying to use the _gfx9 variants of DS pseudos, not the base form with m0 uses.
849b10b
to
21fa4b7
Compare
@llvm/pr-subscribers-backend-amdgpu Author: Matt Arsenault (arsenm) ChangesThis should be trying to use the _gfx9 variants of DS pseudos, Full diff: https://github.com/llvm/llvm-project/pull/156419.diff 1 Files Affected:
diff --git a/llvm/lib/Target/AMDGPU/DSInstructions.td b/llvm/lib/Target/AMDGPU/DSInstructions.td
index 2ff9dfe8a7014..e6a07ebe1cafb 100644
--- a/llvm/lib/Target/AMDGPU/DSInstructions.td
+++ b/llvm/lib/Target/AMDGPU/DSInstructions.td
@@ -127,11 +127,12 @@ multiclass DS_1A1D_NORET_mc<string opName, RegisterClass rc = VGPR_32> {
}
}
-multiclass DS_1A1D_NORET_t16<string opName, RegisterClass rc = VGPR_32>
+multiclass DS_1A1D_NORET_t16<string opName, RegisterClass rc = VGPR_32>
: DS_1A1D_NORET_mc<opName, rc> {
let has_m0_read = 0 in {
let True16Predicate = UseRealTrue16Insts in {
- def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>, True16D16Table<NAME#"_D16_HI", NAME>;
+ def "_t16" : DS_1A1D_NORET<opName#"_t16", VGPR_16>,
+ True16D16Table<NAME#"_D16_HI", NAME#"_gfx9">;
}
}
}
|
This should be trying to use the _gfx9 variants of DS pseudos,
not the base form with m0 uses.