https://github.com/arichardson updated https://github.com/llvm/llvm-project/pull/227571
>From dc6fe283d1f02b86e510e0a68bd60b7b45245cb4 Mon Sep 17 00:00:00 2001 From: Alex Richardson <[email protected]> Date: Tue, 29 Sep 2026 22:49:14 -0700 Subject: [PATCH 1/2] [RISC-V][MC] Convert priv-invalid.s to llvm-mc -verify Convert `llvm/test/MC/RISCV/priv-invalid.s` from `not llvm-mc ... 2>&1 | FileCheck` to `llvm-mc -verify` as an example of inline diagnostic verification with explicit column checks. This commit was created with the help of AI tools --- llvm/test/MC/RISCV/priv-invalid.s | 100 +++++++++++++++--------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/llvm/test/MC/RISCV/priv-invalid.s b/llvm/test/MC/RISCV/priv-invalid.s index c4bd1e8d741351..6c368c5fa7aaaa 100644 --- a/llvm/test/MC/RISCV/priv-invalid.s +++ b/llvm/test/MC/RISCV/priv-invalid.s @@ -1,94 +1,94 @@ -# RUN: not llvm-mc -triple riscv32 < %s 2>&1 | FileCheck %s +# RUN: llvm-mc -triple riscv32 -verify < %s -mret 0x10 # CHECK: :[[@LINE]]:6: error: unexpected extra operand for instruction +mret 0x10 # expected-error:6 {{unexpected extra operand for instruction}} -sfence.vma zero, a1, a2 # CHECK: :[[@LINE]]:22: error: unexpected extra operand for instruction +sfence.vma zero, a1, a2 # expected-error:22 {{unexpected extra operand for instruction}} sfence.vma a0, 0x10 -# CHECK: :[[@LINE-1]]:1: error: invalid instruction, any one of the following would fix this: -# CHECK: :[[@LINE-2]]:16: note: unexpected extra operand for instruction -# CHECK: :[[@LINE-3]]:16: note: register must be a GPR +# expected-error@-1:1 {{invalid instruction, any one of the following would fix this:}} +# expected-note@-2:16 {{unexpected extra operand for instruction}} +# expected-note@-3:16 {{register must be a GPR}} -sinval.vma zero, a1, a2 # CHECK: :[[@LINE]]:1: error: invalid instruction +sinval.vma zero, a1, a2 # expected-error:1 {{invalid instruction}} -sinval.vma a0, 0x10 # CHECK: :[[@LINE]]:1: error: invalid instruction +sinval.vma a0, 0x10 # expected-error:1 {{invalid instruction}} -sfence.w.inval 0x10 # CHECK: :[[@LINE]]:1: error: invalid instruction +sfence.w.inval 0x10 # expected-error:1 {{invalid instruction}} -sfence.inval.ir 0x10 # CHECK: :[[@LINE]]:1: error: invalid instruction +sfence.inval.ir 0x10 # expected-error:1 {{invalid instruction}} -hfence.vvma zero, a1, a2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'H' (Hypervisor) +hfence.vvma zero, a1, a2 # expected-error:1 {{instruction requires the following: 'H' (Hypervisor)}} -hfence.vvma a0, 0x10 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'H' (Hypervisor) +hfence.vvma a0, 0x10 # expected-error:1 {{instruction requires the following: 'H' (Hypervisor)}} -hfence.gvma zero, a1, a2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'H' (Hypervisor) +hfence.gvma zero, a1, a2 # expected-error:1 {{instruction requires the following: 'H' (Hypervisor)}} -hfence.gvma a0, 0x10 # CHECK: :[[@LINE]]:1: error: instruction requires the following: 'H' (Hypervisor) +hfence.gvma a0, 0x10 # expected-error:1 {{instruction requires the following: 'H' (Hypervisor)}} -hinval.vvma zero, a1, a2 # CHECK: :[[@LINE]]:1: error: invalid instruction +hinval.vvma zero, a1, a2 # expected-error:1 {{invalid instruction}} -hinval.vvma a0, 0x10 # CHECK: :[[@LINE]]:1: error: invalid instruction +hinval.vvma a0, 0x10 # expected-error:1 {{invalid instruction}} -hinval.gvma zero, a1, a2 # CHECK: :[[@LINE]]:1: error: invalid instruction +hinval.gvma zero, a1, a2 # expected-error:1 {{invalid instruction}} -hinval.gvma a0, 0x10 # CHECK: :[[@LINE]]:1: error: invalid instruction +hinval.gvma a0, 0x10 # expected-error:1 {{invalid instruction}} -hlv.b a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hlv.b a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} -hlv.b a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hlv.b a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} -hlv.b a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hlv.b a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} -hlv.bu a0, 0x10 # CHECK: :[[@LINE]]:17: error: expected '(' after optional integer offset +hlv.bu a0, 0x10 # expected-error:17 {{expected '(' after optional integer offset}} -hlv.bu a0, a1 # CHECK: :[[@LINE]]:12: error: expected '(' or optional integer offset +hlv.bu a0, a1 # expected-error:12 {{expected '(' or optional integer offset}} -hlv.bu a0, 1(a1) # CHECK: :[[@LINE]]:12: error: optional integer offset must be 0 +hlv.bu a0, 1(a1) # expected-error:12 {{optional integer offset must be 0}} -hlv.h a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hlv.h a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} -hlv.h a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hlv.h a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} -hlv.h a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hlv.h a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} -hlv.hu a0, 0x10 # CHECK: :[[@LINE]]:17: error: expected '(' after optional integer offset +hlv.hu a0, 0x10 # expected-error:17 {{expected '(' after optional integer offset}} -hlv.hu a0, a1 # CHECK: :[[@LINE]]:12: error: expected '(' or optional integer offset +hlv.hu a0, a1 # expected-error:12 {{expected '(' or optional integer offset}} -hlv.hu a0, 1(a1) # CHECK: :[[@LINE]]:12: error: optional integer offset must be 0 +hlv.hu a0, 1(a1) # expected-error:12 {{optional integer offset must be 0}} -hlvx.hu a0, 0x10 # CHECK: :[[@LINE]]:18: error: expected '(' after optional integer offset - -hlvx.hu a0, a1 # CHECK: :[[@LINE]]:13: error: expected '(' or optional integer offset - -hlvx.hu a0, 1(a1) # CHECK: :[[@LINE]]:13: error: optional integer offset must be 0 +hlvx.hu a0, 0x10 # expected-error:18 {{expected '(' after optional integer offset}} -hlv.w a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hlvx.hu a0, a1 # expected-error:13 {{expected '(' or optional integer offset}} -hlv.w a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hlvx.hu a0, 1(a1) # expected-error:13 {{optional integer offset must be 0}} -hlv.w a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hlv.w a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} -hlvx.wu a0, 0x10 # CHECK: :[[@LINE]]:18: error: expected '(' after optional integer offset +hlv.w a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} -hlvx.wu a0, a1 # CHECK: :[[@LINE]]:13: error: expected '(' or optional integer offset +hlv.w a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} -hlvx.wu a0, 1(a1) # CHECK: :[[@LINE]]:13: error: optional integer offset must be 0 +hlvx.wu a0, 0x10 # expected-error:18 {{expected '(' after optional integer offset}} -hsv.b a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hlvx.wu a0, a1 # expected-error:13 {{expected '(' or optional integer offset}} -hsv.b a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hlvx.wu a0, 1(a1) # expected-error:13 {{optional integer offset must be 0}} -hsv.b a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hsv.b a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} -hsv.h a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hsv.b a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} -hsv.h a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hsv.b a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} -hsv.h a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hsv.h a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} -hsv.w a0, 0x10 # CHECK: :[[@LINE]]:16: error: expected '(' after optional integer offset +hsv.h a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} -hsv.w a0, a1 # CHECK: :[[@LINE]]:11: error: expected '(' or optional integer offset +hsv.h a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} -hsv.w a0, 1(a1) # CHECK: :[[@LINE]]:11: error: optional integer offset must be 0 +hsv.w a0, 0x10 # expected-error:16 {{expected '(' after optional integer offset}} + +hsv.w a0, a1 # expected-error:11 {{expected '(' or optional integer offset}} + +hsv.w a0, 1(a1) # expected-error:11 {{optional integer offset must be 0}} >From d6843c08e53793b9a5735968078d310f3d53928f Mon Sep 17 00:00:00 2001 From: Alex Richardson <[email protected]> Date: Sun, 18 Oct 2026 15:09:10 -0700 Subject: [PATCH 2/2] [nspr] update --- llvm/test/MC/RISCV/priv-invalid.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/test/MC/RISCV/priv-invalid.s b/llvm/test/MC/RISCV/priv-invalid.s index 6c368c5fa7aaaa..6409006b321ba7 100644 --- a/llvm/test/MC/RISCV/priv-invalid.s +++ b/llvm/test/MC/RISCV/priv-invalid.s @@ -1,4 +1,4 @@ -# RUN: llvm-mc -triple riscv32 -verify < %s +# RUN: llvm-mc --triple=riscv32 --verify %s mret 0x10 # expected-error:6 {{unexpected extra operand for instruction}} _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
