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-cpu.s
Bernard Ogden 9875b17d87 [AArch64] Clean up LSE directive tests
These were specifying an architecture version with .cpu directive,
which is invalid. As the error for this case outputs the problem
instruction we were still matching the expectations of FileCheck.

This patch fixes up the LSE tests to do what they seem to intend. A
follow-up patch will tighten up the directive tests.

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

llvm-svn: 335585
2018-06-26 09:36:13 +00:00

75 lines
1.4 KiB
ArmAsm

// RUN: not llvm-mc -triple aarch64-unknown-none-eabi -filetype asm -o - %s 2>&1 | FileCheck %s
.cpu generic
fminnm d0, d0, d1
.cpu generic+fp
fminnm d0, d0, d1
.cpu generic+nofp
fminnm d0, d0, d1
.cpu generic+simd
addp v0.4s, v0.4s, v0.4s
.cpu generic+nosimd
addp v0.4s, v0.4s, v0.4s
.cpu generic+crc
crc32cx w0, w1, x3
.cpu generic+nocrc
crc32cx w0, w1, x3
.cpu generic+crypto+nocrc
aesd v0.16b, v2.16b
.cpu generic+nocrypto+crc
aesd v0.16b, v2.16b
.cpu generic+nolse
casa w5, w7, [x20]
.cpu generic+lse
casa w5, w7, [x20]
// NOTE: the errors precede the actual output! The errors appear in order
// though, so validate by hoisting them to the top and preservering relative
// ordering
// CHECK: error: instruction requires: fp-armv8
// CHECK: fminnm d0, d0, d1
// CHECK: ^
// CHECK: error: instruction requires: neon
// CHECK: addp v0.4s, v0.4s, v0.4s
// CHECK: ^
// CHECK: error: instruction requires: crc
// CHECK: crc32cx w0, w1, x3
// CHECK: ^
// CHECK: error: instruction requires: crypto
// CHECK: aesd v0.16b, v2.16b
// CHECK: ^
// CHECK: error: instruction requires: lse
// CHECK: casa w5, w7, [x20]
// CHECK: ^
// CHECK: fminnm d0, d0, d1
// CHECK: fminnm d0, d0, d1
// CHECK: addp v0.4s, v0.4s, v0.4s
// CHECK: crc32cx w0, w1, x3
// CHECK: aesd v0.16b, v2.16b
// CHECK: casa w5, w7, [x20]