diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2025-03-04 16:56:44 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-04 16:56:44 +0700 |
commit | f319a6546613d65661e1ad1ef1a2a648cefee84b (patch) | |
tree | 8897d4d5b3885a2891964e30e08a31d12632a8e5 | |
parent | 65330e20b189c38ddbb38eb63b15f93262385e73 (diff) | |
download | llvm-f319a6546613d65661e1ad1ef1a2a648cefee84b.zip llvm-f319a6546613d65661e1ad1ef1a2a648cefee84b.tar.gz llvm-f319a6546613d65661e1ad1ef1a2a648cefee84b.tar.bz2 |
AMDGPU: Fix broken broken negative test for gfx950 assembler (#129667)
Fix's not rejecting global_load_lds_dwordx3 and x4 on other targets.
The encoded versions of instructions should not touch SubtargetPredicate,
and only AssemblerPredicate.
-rw-r--r-- | llvm/lib/Target/AMDGPU/FLATInstructions.td | 2 | ||||
-rw-r--r-- | llvm/test/MC/AMDGPU/gfx950_asm_features.s | 7 |
2 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/FLATInstructions.td b/llvm/lib/Target/AMDGPU/FLATInstructions.td index f48d1d8..2625b44 100644 --- a/llvm/lib/Target/AMDGPU/FLATInstructions.td +++ b/llvm/lib/Target/AMDGPU/FLATInstructions.td @@ -2093,7 +2093,7 @@ multiclass FLAT_Real_AllAddr_LDS<bits<7> op, bits<7> pre_gfx940_op, } } - let SubtargetPredicate = isGFX940Plus in { + let AssemblerPredicate = isGFX940Plus in { def _gfx940 : FLAT_Real_gfx940<op, !cast<FLAT_Pseudo>(NAME)>; def _SADDR_gfx940 : FLAT_Real_gfx940<op, !cast<FLAT_Pseudo>(NAME#"_SADDR")>; } diff --git a/llvm/test/MC/AMDGPU/gfx950_asm_features.s b/llvm/test/MC/AMDGPU/gfx950_asm_features.s index 5d6adc4..7bc4791 100644 --- a/llvm/test/MC/AMDGPU/gfx950_asm_features.s +++ b/llvm/test/MC/AMDGPU/gfx950_asm_features.s @@ -1,11 +1,10 @@ // RUN: llvm-mc -triple=amdgcn -mcpu=gfx950 -show-encoding %s | FileCheck --check-prefix=GFX950 --strict-whitespace %s -// xUN: not llvm-mc -triple=amdgcn -mcpu=gfx942 %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950,GFX942 --implicit-check-not=error: %s -// xUN: not llvm-mc -triple=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950,GFX90A --implicit-check-not=error: %s -// xUN: not llvm-mc -triple=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950,GFX10 --implicit-check-not=error: %s +// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx942 %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950 --implicit-check-not=error: %s +// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950 --implicit-check-not=error: %s +// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=NOT-GFX950 --implicit-check-not=error: %s // NOT-GFX950: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU // GFX950: global_load_lds_dwordx3 v[2:3], off ; encoding: [0x00,0x80,0xf8,0xdd,0x02,0x00,0x7f,0x00] - global_load_lds_dwordx3 v[2:3], off // NOT-GFX950: :[[@LINE+2]]:{{[0-9]+}}: error: |