1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/MC/PowerPC/invalid-instructions-spellcheck.s
Stefan Pintile 2978e175d1 [PowerPC] Implementing overflow version for XO-Form instructions
The Overflow version of XO-Form instruction uses the SO, OV and
OV32 special registers.

This changes modifies existing multiclasses and instruction
definitions to allow for the use of the XER register to record
the various types if overflow from possible add, subtract and
multiply instructions. It then modifies the existing instructions
as to use these multiclasses as needed.

Patch By: Kamau Bridgeman

Differential Revision: https://reviews.llvm.org/D66902
2019-11-11 09:50:46 -06:00

45 lines
1.2 KiB
ArmAsm

# RUN: not llvm-mc -triple powerpc-unknown-unknown < %s 2>&1 | FileCheck %s
# This tests the mnemonic spell checker.
# First check what happens when an instruction is omitted:
%r1, %r2, %r3
# CHECK: error: unexpected token at start of statement
# CHECK-NEXT: %r1, %r2, %r3
# CHECK-NEXT: ^
# We don't want to see a suggestion here; the edit distance is too large to
# give sensible suggestions:
aaaaaaaaaaaaaaa %r1, %r2, %r3
# CHECK: error: invalid instruction
# CHECK-NEXT: aaaaaaaaaaaaaaa %r1, %r2, %r3
# CHECK-NEXT: ^
# Check that we get one suggestion: 'vmaxfpg' is 1 edit away, i.e. an deletion.
vmaxfpg %r1, %r2
# CHECK: error: invalid instruction, did you mean: vmaxfp?
# CHECK-NEXT: vmaxfpg %r1, %r2
# CHECK-NEXT: ^
# Check edit distance 1 and 2, just insertions:
xsnmsubad %r1, %r2
# CHECK: error: invalid instruction, did you mean: xsmsubadp, xsnmsubadp?
# CHECK-NEXT: xsnmsubad %r1, %r2
# CHECK-NEXT: ^
# Check an instruction that is 2 edits away, and also has a lot of candidates:
adXd %r1, %r2, %r3
# CHECK: error: invalid instruction, did you mean: add, addc, adde, addi, addo, fadd?
# CHECK-NEXT: adXd %r1, %r2, %r3
# CHECK-NEXT: ^