1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/MC/AArch64/directive-arch-negative.s
Bernard Ogden f58953b936 [AArch64] Tighten up directives tests
Move expected-fail cases from directive-cpu.s to
directive-cpu-err.s. This allows us to remove the 'not' from the
llvm-mc invocation in directive-cpu.s so that this test will fail
in unexpected error cases. It also means that we are not relying
on all stderr coming before any stdout, which seems fragile.

Also make use of CHECK-NEXT to ensure that multiline error messages
really are occuring together.

And add a test to verify that .cpu with an arch version as extension
is rejected.

Differential Revision: https://reviews.llvm.org/D47873

llvm-svn: 335586
2018-06-26 09:49:31 +00:00

58 lines
1.2 KiB
ArmAsm

// RUN: not llvm-mc -triple aarch64-unknown-none-eabi -filetype asm -o - %s 2>&1 | FileCheck %s
.arch axp64
# CHECK: error: unknown arch name
# CHECK-NEXT: .arch axp64
# CHECK-NEXT: ^
.arch armv8
aese v0.8h, v1.8h
# CHECK: error: invalid operand for instruction
# CHECK-NEXT: aese v0.8h, v1.8h
# CHECK-NEXT: ^
// We silently ignore invalid features.
.arch armv8+foo
aese v0.8h, v1.8h
# CHECK: error: invalid operand for instruction
# CHECK-NEXT: aese v0.8h, v1.8h
# CHECK-NEXT: ^
.arch armv8+crypto
.arch armv8
aese v0.8h, v1.8h
# CHECK: error: invalid operand for instruction
# CHECK-NEXT: aese v0.8h, v1.8h
# CHECK-NEXT: ^
.arch armv8.1-a+noras
esb
# CHECK: error: instruction requires: ras
# CHECK-NEXT: esb
// PR32873: without extra features, '.arch' is currently ignored.
// Add an unrelated feature to accept the directive.
.arch armv8+crc
casa w5, w7, [x19]
# CHECK: error: instruction requires: lse
# CHECK-NEXT: casa w5, w7, [x19]
.arch armv8+crypto
crc32b w0, w1, w2
# CHECK: error: instruction requires: crc
# CHECK-NEXT: crc32b w0, w1, w2
.arch armv8.1-a+nolse
casa w5, w7, [x20]
# CHECK: error: instruction requires: lse
# CHECK-NEXT: casa w5, w7, [x20]