1# RUN: not llvm-mc -triple amdgcn < %s 2>&1 | FileCheck --strict-whitespace %s 2 3# This tests the mnemonic spell checker. 4 5# First check what happens when an instruction is omitted: 6 7v2, v4, v6 8 9# CHECK: error: invalid instruction 10# CHECK-NEXT:{{^}}v2, v4, v6 11# CHECK-NEXT:{{^}}^ 12 13# We don't want to see a suggestion here; the edit distance is too large to 14# give sensible suggestions: 15 16aaaaaaaaaaaaaaa v1, v2, v3 17 18# CHECK: error: invalid instruction 19# CHECK-NEXT:{{^}}aaaaaaaaaaaaaaa v1, v2, v3 20# CHECK-NEXT:{{^}}^ 21 22# Check that we get one suggestion: 'dsc_write_src2_b64' is 1 edit away, i.e. an deletion. 23 24dsc_write_src2_b64 v1, v2, v3 25 26# CHECK: error: invalid instruction, did you mean: ds_write_src2_b64? 27# CHECK-NEXT:{{^}}dsc_write_src2_b64 v1, v2, v3 28# CHECK-NEXT:{{^}}^ 29 30# Check edit distance 1 and 2, just insertions: 31 32s_mov_b v1, v2 33 34# CHECK: error: invalid instruction, did you mean: s_mov_b32, s_mov_b64? 35# CHECK-NEXT:{{^}}s_mov_b v1, v2 36# CHECK-NEXT:{{^}}^ 37 38# Check an instruction that is 2 edits away, and also has a lot of candidates: 39 40s_load_dwordx v1, v2, v3 41 42# CHECK: error: invalid instruction, did you mean: s_load_dword, s_load_dwordx16, s_load_dwordx2, s_load_dwordx4, s_load_dwordx8? 43# CHECK-NEXT:{{^}}s_load_dwordx v1, v2, v3 44# CHECK-NEXT:{{^}}^ 45