Skip to content

Conversation

@broxigarchen
Copy link
Contributor

@broxigarchen broxigarchen commented Jan 16, 2025

check if op_sel is consistent with .l/.h syntax if both are presented

@broxigarchen broxigarchen changed the title [AMDGPU][True16][AMD] validate op_sel and .l/.h syntax [AMDGPU][True16][MC] validate op_sel and .l/.h syntax Jan 16, 2025
@github-actions
Copy link

github-actions bot commented Jan 16, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@broxigarchen broxigarchen force-pushed the main-merge-true16-mc-print branch from ad4918e to 34d51b7 Compare January 16, 2025 22:58
@broxigarchen broxigarchen marked this pull request as ready for review January 17, 2025 23:08
@broxigarchen broxigarchen requested a review from arsenm January 17, 2025 23:08
@llvmbot
Copy link
Member

llvmbot commented Jan 17, 2025

@llvm/pr-subscribers-mc

@llvm/pr-subscribers-backend-amdgpu

Author: Brox Chen (broxigarchen)

Changes

check if op_sel is consistent with .l/.h syntax if both are presented


Full diff: https://github.com/llvm/llvm-project/pull/123250.diff

1 Files Affected:

  • (modified) llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (+44)
diff --git a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
index d8f441d1ccfe44..2316b97d80f281 100644
--- a/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+++ b/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
@@ -33,6 +33,7 @@
 #include "llvm/MC/MCParser/MCAsmParser.h"
 #include "llvm/MC/MCParser/MCParsedAsmOperand.h"
 #include "llvm/MC/MCParser/MCTargetAsmParser.h"
+#include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/MC/TargetRegistry.h"
 #include "llvm/Support/AMDGPUMetadata.h"
@@ -1536,6 +1537,10 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
     return getFeatureBits()[AMDGPU::FeatureFlatInstOffsets];
   }
 
+  bool hasTrue16Insts() const {
+    return getFeatureBits()[AMDGPU::FeatureTrue16BitInsts];
+  }
+
   bool hasArchitectedFlatScratch() const {
     return getFeatureBits()[AMDGPU::FeatureArchitectedFlatScratch];
   }
@@ -1777,6 +1782,7 @@ class AMDGPUAsmParser : public MCTargetAsmParser {
   bool validateMIMGDim(const MCInst &Inst, const OperandVector &Operands);
   bool validateMIMGMSAA(const MCInst &Inst);
   bool validateOpSel(const MCInst &Inst);
+  bool validateTrue16OpSel(const MCInst &Inst);
   bool validateNeg(const MCInst &Inst, int OpName);
   bool validateDPP(const MCInst &Inst, const OperandVector &Operands);
   bool validateVccOperand(MCRegister Reg) const;
@@ -4651,6 +4657,39 @@ bool AMDGPUAsmParser::validateOpSel(const MCInst &Inst) {
   return true;
 }
 
+bool AMDGPUAsmParser::validateTrue16OpSel(const MCInst &Inst) {
+  if (!hasTrue16Insts())
+    return true;
+  const MCRegisterInfo *MRI = getMRI();
+  const unsigned Opc = Inst.getOpcode();
+  int OpSelIdx = AMDGPU::getNamedOperandIdx(Opc, AMDGPU::OpName::op_sel);
+  if (OpSelIdx == -1)
+    return true;
+  unsigned OpSelOpValue = Inst.getOperand(OpSelIdx).getImm();
+  // If the value is 0 we could have a default OpSel Operand, so conservatively
+  // allow it.
+  if (OpSelOpValue == 0)
+    return true;
+  unsigned OpCount = 0;
+  for (int OpName : {AMDGPU::OpName::src0, AMDGPU::OpName::src1,
+                     AMDGPU::OpName::src2, AMDGPU::OpName::vdst}) {
+    int OpIdx = AMDGPU::getNamedOperandIdx(Inst.getOpcode(), OpName);
+    if (OpIdx == -1)
+      continue;
+    const MCOperand &Op = Inst.getOperand(OpIdx);
+    if (Op.isReg() &&
+        MRI->getRegClass(AMDGPU::VGPR_16RegClassID).contains(Op.getReg())) {
+      bool VGPRSuffixIsHi = AMDGPU::isHi16Reg(Op.getReg(), *MRI);
+      bool OpSelOpIsHi = ((OpSelOpValue & (1 << OpCount)) != 0);
+      if (OpSelOpIsHi != VGPRSuffixIsHi)
+        return false;
+    }
+    ++OpCount;
+  }
+
+  return true;
+}
+
 bool AMDGPUAsmParser::validateNeg(const MCInst &Inst, int OpName) {
   assert(OpName == AMDGPU::OpName::neg_lo || OpName == AMDGPU::OpName::neg_hi);
 
@@ -5132,6 +5171,11 @@ bool AMDGPUAsmParser::validateInstruction(const MCInst &Inst,
     Error(getRegLoc(LDS_DIRECT, Operands), *ErrMsg);
     return false;
   }
+  if (!validateTrue16OpSel(Inst)) {
+    Error(getImmLoc(AMDGPUOperand::ImmTyOpSel, Operands),
+          "op_sel operand conflicts with 16-bit operand suffix");
+    return false;
+  }
   if (!validateSOPLiteral(Inst)) {
     Error(getLitLoc(Operands),
       "only one unique literal operand is allowed");

Comment on lines +5175 to +5176
Error(getImmLoc(AMDGPUOperand::ImmTyOpSel, Operands),
"op_sel operand conflicts with 16-bit operand suffix");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a test file

@broxigarchen broxigarchen force-pushed the main-merge-true16-mc-print branch from 34d51b7 to fcbab85 Compare January 30, 2025 16:51
@llvmbot llvmbot added the llvm:mc Machine (object) code label Jan 30, 2025
@broxigarchen broxigarchen requested a review from arsenm January 30, 2025 16:52
Copy link
Contributor

@Sisyph Sisyph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@broxigarchen broxigarchen merged commit fabe747 into llvm:main Jan 30, 2025
9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder openmp-offload-sles-build-only running on rocm-worker-hw-04-sles while building llvm at step 8 "Add check check-llvm".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/140/builds/15972

Here is the relevant piece of the build log for the reference
Step 8 (Add check check-llvm) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s | /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck --check-prefixes=GFX11 /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck --check-prefixes=GFX11 /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
llvm-mc: /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
 #0 0x00000000007b35d8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/llvm-mc+0x7b35d8)
 #1 0x00000000007b0d64 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fbafe305910 __restore_rt (/lib64/libpthread.so.0+0x16910)
 #3 0x00007fbafdc33d2b raise (/lib64/libc.so.6+0x4ad2b)
 #4 0x00007fbafdc353e5 abort (/lib64/libc.so.6+0x4c3e5)
 #5 0x00007fbafdc2bc6a __assert_fail_base (/lib64/libc.so.6+0x42c6a)
 #6 0x00007fbafdc2bcf2 (/lib64/libc.so.6+0x42cf2)
 #7 0x000000000048d83e (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #8 0x0000000000492e9e (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
 #9 0x0000000000727fcc (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#10 0x00000000007345ad (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) AsmParser.cpp:0:0
#11 0x0000000000731b91 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#12 0x00000000004178ef main (/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/llvm-mc+0x4178ef)
#13 0x00007fbafdc1e24d __libc_start_main (/lib64/libc.so.6+0x3524d)
#14 0x000000000041bafa _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:122:0
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck --check-prefixes=GFX11 /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-rel-x86-64 running on ml-opt-rel-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/185/builds/12419

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s | /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11 /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11 /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
llvm-mc: /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
 #0 0x00005615c3cc9428 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc+0xda2428)
 #1 0x00005615c3cc6a44 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fe38c91c140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13140)
 #3 0x00007fe38c41dd51 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38d51)
 #4 0x00007fe38c407537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
 #5 0x00007fe38c40740f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
 #6 0x00007fe38c4166d2 (/lib/x86_64-linux-gnu/libc.so.6+0x316d2)
 #7 0x00005615c35309f1 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #8 0x00005615c35321d2 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
 #9 0x00005615c3c2bc42 (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#10 0x00005615c3c44e33 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) (.part.0) AsmParser.cpp:0:0
#11 0x00005615c3c396b3 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#12 0x00005615c347a919 main (/b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc+0x553919)
#13 0x00007fe38c408d7a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d7a)
#14 0x00005615c348f1aa _start (/b/ml-opt-rel-x86-64-b1/build/bin/llvm-mc+0x5681aa)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11 /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-dev-x86-64 running on ml-opt-dev-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/137/builds/12592

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vopc_t16_promote.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
RUN: at line 2: /b/ml-opt-dev-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,+real-true16 -show-encoding /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s 2>&1 | /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck --check-prefix=GFX11 /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
+ /b/ml-opt-dev-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,+real-true16 -show-encoding /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
+ /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck --check-prefix=GFX11 /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
/b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s:5:11: error: GFX11: expected string not found in input
// GFX11: v_cmp_class_f16_e64 vcc, v1.h, v255.h ; encoding: [0x6a,0x18,0x7d,0xd4,0x01,0xff,0x03,0x00]
          ^
<stdin>:1:1: note: scanning from here
llvm-mc: /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
^

Input file: <stdin>
Check file: /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s

-dump-input=help explains the following input dump.

Input was:
<<<<<<
         1: llvm-mc: /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed. 
check:5     X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
         2: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. 
check:5     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         3: Stack dump: 
check:5     ~~~~~~~~~~~~
         4: 0. Program arguments: /b/ml-opt-dev-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,+real-true16 -show-encoding /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s 
check:5     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         5:  #0 0x000055ffc7b7c428 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/ml-opt-dev-x86-64-b1/build/bin/llvm-mc+0xda2428) 
check:5     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         6:  #1 0x000055ffc7b79a44 SignalHandler(int) Signals.cpp:0:0 
check:5     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         .
         .
         .
>>>>>>

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-devrel-x86-64 running on ml-opt-devrel-x86-64-b2 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/175/builds/12446

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopc.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: not /b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s | /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ not /b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
llvm-mc: /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
 #0 0x0000562be9b9e428 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc+0xda2428)
 #1 0x0000562be9b9ba44 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f2f631bd140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13140)
 #3 0x00007f2f62cbed51 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38d51)
 #4 0x00007f2f62ca8537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
 #5 0x00007f2f62ca840f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
 #6 0x00007f2f62cb76d2 (/lib/x86_64-linux-gnu/libc.so.6+0x316d2)
 #7 0x0000562be94059f1 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #8 0x0000562be94071d2 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
 #9 0x0000562be9b00c42 (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#10 0x0000562be9b19e33 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) (.part.0) AsmParser.cpp:0:0
#11 0x0000562be9b0e6b3 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#12 0x0000562be934f919 main (/b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc+0x553919)
#13 0x00007f2f62ca9d7a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d7a)
#14 0x0000562be93641aa _start (/b/ml-opt-devrel-x86-64-b1/build/bin/llvm-mc+0x5681aa)
error: Aborted
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s

--

********************


kazutakahirata added a commit that referenced this pull request Jan 30, 2025
This reverts commit fabe747.

Multiple buildbots are failing.  See:
#123250
@kazutakahirata
Copy link
Contributor

I've reverted this PR due to the buildbot failures above.

@broxigarchen
Copy link
Contributor Author

I've reverted this PR due to the buildbot failures above.

Thanks! I'll take a look at it

github-actions bot pushed a commit to arm/arm-toolchain that referenced this pull request Jan 30, 2025
…tax (#123250)"

This reverts commit fabe747.

Multiple buildbots are failing.  See:
llvm/llvm-project#123250
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder clang-x86_64-debian-fast running on gribozavr4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/17583

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopc.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: not /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s | /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ not /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
llvm-mc: /b/1/clang-x86_64-debian-fast/llvm.src/llvm/include/llvm/ADT/SmallVector.h:295: llvm::SmallVectorTemplateCommon::const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](llvm::SmallVectorTemplateCommon::size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
 #0 0x0000000000c332a7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc+0xc332a7)
 #1 0x0000000000c30eae llvm::sys::RunSignalHandlers() (/b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc+0xc30eae)
 #2 0x0000000000c33aaf SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f3f0ea5a140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13140)
 #4 0x00007f3f0e56ed51 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38d51)
 #5 0x00007f3f0e558537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
 #6 0x00007f3f0e55840f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
 #7 0x00007f3f0e5676d2 (/lib/x86_64-linux-gnu/libc.so.6+0x316d2)
 #8 0x000000000048e9e7 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #9 0x0000000000458f25 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
#10 0x0000000000bbc4db (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#11 0x0000000000baf126 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) AsmParser.cpp:0:0
#12 0x0000000000ba7a32 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#13 0x00000000004151a6 main (/b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc+0x4151a6)
#14 0x00007f3f0e559d7a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d7a)
#15 0x000000000041217a _start (/b/1/clang-x86_64-debian-fast/llvm.obj/bin/llvm-mc+0x41217a)
error: Aborted
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/clang-x86_64-debian-fast/llvm.src/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder llvm-x86_64-debian-dylib running on gribozavr4 while building llvm at step 7 "test-build-unified-tree-check-llvm".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/18446

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-llvm) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopc.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: not /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ not /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
llvm-mc: /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: llvm::SmallVectorTemplateCommon::const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](llvm::SmallVectorTemplateCommon::size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/1/llvm-x86_64-debian-dylib/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
 #0 0x00007f652a7e8007 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/1/llvm-x86_64-debian-dylib/build/lib/libLLVM.so.21.0git+0xf81007)
 #1 0x00007f652a7e5abe llvm::sys::RunSignalHandlers() (/b/1/llvm-x86_64-debian-dylib/build/lib/libLLVM.so.21.0git+0xf7eabe)
 #2 0x00007f652a7e86df SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f6529851140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13140)
 #4 0x00007f6529377d51 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38d51)
 #5 0x00007f6529361537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
 #6 0x00007f652936140f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
 #7 0x00007f65293706d2 (/lib/x86_64-linux-gnu/libc.so.6+0x316d2)
 #8 0x00007f652d8d3da7 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #9 0x00007f652d89e3f5 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
#10 0x00007f652c872abb (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#11 0x00007f652c8654a6 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) AsmParser.cpp:0:0
#12 0x00007f652c85ddb2 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#13 0x000000000040bbf6 main (/b/1/llvm-x86_64-debian-dylib/build/bin/llvm-mc+0x40bbf6)
#14 0x00007f6529362d7a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d7a)
#15 0x0000000000408bca _start (/b/1/llvm-x86_64-debian-dylib/build/bin/llvm-mc+0x408bca)
error: Aborted
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck --check-prefixes=GFX11,W32 /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-expensive-checks-debian running on gribozavr4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/13015

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck --check-prefixes=GFX11 /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck --check-prefixes=GFX11 /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
llvm-mc: /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: llvm::SmallVectorTemplateCommon::const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](llvm::SmallVectorTemplateCommon::size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
 #0 0x0000000000c36437 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc+0xc36437)
 #1 0x0000000000c3403e llvm::sys::RunSignalHandlers() (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc+0xc3403e)
 #2 0x0000000000c36c3f SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f5ce9931140 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x13140)
 #4 0x00007f5ce9445d51 raise (/lib/x86_64-linux-gnu/libc.so.6+0x38d51)
 #5 0x00007f5ce942f537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22537)
 #6 0x00007f5ce942f40f (/lib/x86_64-linux-gnu/libc.so.6+0x2240f)
 #7 0x00007f5ce943e6d2 (/lib/x86_64-linux-gnu/libc.so.6+0x316d2)
 #8 0x000000000048eb47 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
 #9 0x0000000000459085 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
#10 0x0000000000bbe03b (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#11 0x0000000000bb0c86 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) AsmParser.cpp:0:0
#12 0x0000000000ba9592 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#13 0x0000000000415306 main (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc+0x415306)
#14 0x00007f5ce9430d7a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d7a)
#15 0x00000000004122da _start (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llvm-mc+0x4122da)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck --check-prefixes=GFX11 /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 30, 2025

LLVM Buildbot has detected a new failure on builder lld-x86_64-ubuntu-fast running on as-builder-4 while building llvm at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/10596

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopc.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck --check-prefixes=GFX11,W32 /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck --check-prefixes=GFX11,W32 /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
llvm-mc: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const T& llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::operator[](llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type) const [with T = llvm::MCOperand; <template-parameter-1-2> = void; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::const_reference = const llvm::MCOperand&; llvm::SmallVectorTemplateCommon<T, <template-parameter-1-2> >::size_type = long unsigned int]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
 #0 0x0000560edcc3a300 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc+0xdcd300)
 #1 0x0000560edcc378ef llvm::sys::RunSignalHandlers() (/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc+0xdca8ef)
 #2 0x0000560edcc37a34 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f3ee6aa6520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f3ee6afa9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007f3ee6aa6476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007f3ee6a8c7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007f3ee6a8c71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007f3ee6a9de96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x0000560edc47b435 (anonymous namespace)::AMDGPUAsmParser::validateInstruction(llvm::MCInst const&, llvm::SMLoc const&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>> const&) AMDGPUAsmParser.cpp:0:0
#10 0x0000560edc47d272 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) AMDGPUAsmParser.cpp:0:0
#11 0x0000560edcb96c21 (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) AsmParser.cpp:0:0
#12 0x0000560edcbb2c32 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) (.part.0) AsmParser.cpp:0:0
#13 0x0000560edcba5db9 (anonymous namespace)::AsmParser::Run(bool, bool) AsmParser.cpp:0:0
#14 0x0000560edc3c0b05 main (/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc+0x553b05)
#15 0x00007f3ee6a8dd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#16 0x00007f3ee6a8de40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#17 0x0000560edc3d40a5 _start (/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc+0x5670a5)
error: Aborted (core dumped)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck --check-prefixes=GFX11,W32 /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s

--

********************


@llvm-ci
Copy link
Collaborator

llvm-ci commented Jan 31, 2025

LLVM Buildbot has detected a new failure on builder premerge-monolithic-linux running on premerge-linux-1 while building llvm at step 7 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/21494

Here is the relevant piece of the build log for the reference
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/AMDGPU/gfx11_asm_vop3_from_vopc.s' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: not /build/buildbot/premerge-monolithic-linux/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck --check-prefixes=GFX11,W32 /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ not /build/buildbot/premerge-monolithic-linux/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck --check-prefixes=GFX11,W32 /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
llvm-mc: /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/include/llvm/ADT/SmallVector.h:295: const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand>::operator[](size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /build/buildbot/premerge-monolithic-linux/build/bin/llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
 #0 0x000055e97b21cd88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:13
 #1 0x000055e97b21aa8e llvm::sys::RunSignalHandlers() /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Support/Signals.cpp:106:18
 #2 0x000055e97b21d558 SignalHandler(int) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Support/Unix/Signals.inc:415:1
 #3 0x0000783e287b8520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000783e2880c9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x0000783e287b8476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x0000783e2879e7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x0000783e2879e71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x0000783e287afe96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x000055e97aca3977 validateInstruction /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:0:0
#10 0x000055e97aca3977 (anonymous namespace)::AMDGPUAsmParser::matchAndEmitInstruction(llvm::SMLoc, unsigned int&, llvm::SmallVectorImpl<std::unique_ptr<llvm::MCParsedAsmOperand, std::default_delete<llvm::MCParsedAsmOperand>>>&, llvm::MCStreamer&, unsigned long&, bool) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp:5405:10
#11 0x000055e97b1a8653 (anonymous namespace)::AsmParser::parseAndMatchAndEmitTargetInstruction((anonymous namespace)::ParseStatementInfo&, llvm::StringRef, llvm::AsmToken, llvm::SMLoc) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/MC/MCParser/AsmParser.cpp:2384:27
#12 0x000055e97b19b974 (anonymous namespace)::AsmParser::parseStatement((anonymous namespace)::ParseStatementInfo&, llvm::MCAsmParserSemaCallback*) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/MC/MCParser/AsmParser.cpp:2317:10
#13 0x000055e97b194ef1 (anonymous namespace)::AsmParser::Run(bool, bool) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/lib/MC/MCParser/AsmParser.cpp:0:0
#14 0x000055e97ac56fae AssembleInput(char const*, llvm::Target const*, llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo&, llvm::MCSubtargetInfo&, llvm::MCInstrInfo&, llvm::MCTargetOptions const&) /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp:348:13
#15 0x000055e97ac560f6 main /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp:0:11
#16 0x0000783e2879fd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#17 0x0000783e2879fe40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#18 0x000055e97ac50e95 _start (/build/buildbot/premerge-monolithic-linux/build/bin/llvm-mc+0x2481e95)
error: Aborted
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck --check-prefixes=GFX11,W32 /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s

--

********************


broxigarchen added a commit that referenced this pull request Feb 5, 2025
check if op_sel is consistent with .l/.h syntax if both are presented

reopen this #123250 since
problem is resolved in #125561
github-actions bot pushed a commit to arm/arm-toolchain that referenced this pull request Feb 5, 2025
…5872)

check if op_sel is consistent with .l/.h syntax if both are presented

reopen this llvm/llvm-project#123250 since
problem is resolved in llvm/llvm-project#125561
Icohedron pushed a commit to Icohedron/llvm-project that referenced this pull request Feb 11, 2025
check if op_sel is consistent with .l/.h syntax if both are presented

reopen this llvm#123250 since
problem is resolved in llvm#125561
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend:AMDGPU llvm:mc Machine (object) code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants