diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2013-10-15 21:18:44 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2013-10-15 21:18:44 +0000 |
commit | 1824bd0ef84bd162065f9d1fad4c325a39736248 (patch) | |
tree | 4047d24f8d091142f41d2fc704e75b2ed52900b5 /test/MC | |
parent | ab950f5f334d30a7b5bfb1e009846dfb0b47f61c (diff) | |
download | external_llvm-1824bd0ef84bd162065f9d1fad4c325a39736248.zip external_llvm-1824bd0ef84bd162065f9d1fad4c325a39736248.tar.gz external_llvm-1824bd0ef84bd162065f9d1fad4c325a39736248.tar.bz2 |
[AArch64] Add support for NEON scalar signed saturating absolute value and
scalar signed saturating negate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192733 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/AArch64/neon-scalar-abs.s | 17 | ||||
-rw-r--r-- | test/MC/AArch64/neon-scalar-neg.s | 17 | ||||
-rw-r--r-- | test/MC/Disassembler/AArch64/neon-instructions.txt | 24 |
3 files changed, 58 insertions, 0 deletions
diff --git a/test/MC/AArch64/neon-scalar-abs.s b/test/MC/AArch64/neon-scalar-abs.s new file mode 100644 index 0000000..5e10752 --- /dev/null +++ b/test/MC/AArch64/neon-scalar-abs.s @@ -0,0 +1,17 @@ +// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s + +// Check that the assembler can handle the documented syntax for AArch64 + +//---------------------------------------------------------------------- +// Scalar Absolute Value +//---------------------------------------------------------------------- + + sqabs b19, b14 + sqabs h21, h15 + sqabs s20, s12 + sqabs d18, d12 + +// CHECK: sqabs b19, b14 // encoding: [0xd3,0x79,0x20,0x5e] +// CHECK: sqabs h21, h15 // encoding: [0xf5,0x79,0x60,0x5e] +// CHECK: sqabs s20, s12 // encoding: [0x94,0x79,0xa0,0x5e] +// CHECK: sqabs d18, d12 // encoding: [0x92,0x79,0xe0,0x5e] diff --git a/test/MC/AArch64/neon-scalar-neg.s b/test/MC/AArch64/neon-scalar-neg.s new file mode 100644 index 0000000..0e637da --- /dev/null +++ b/test/MC/AArch64/neon-scalar-neg.s @@ -0,0 +1,17 @@ +// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s + +// Check that the assembler can handle the documented syntax for AArch64 + +//---------------------------------------------------------------------- +// Scalar Signed Saturating Negate +//---------------------------------------------------------------------- + + sqneg b19, b14 + sqneg h21, h15 + sqneg s20, s12 + sqneg d18, d12 + +// CHECK: sqneg b19, b14 // encoding: [0xd3,0x79,0x20,0x7e] +// CHECK: sqneg h21, h15 // encoding: [0xf5,0x79,0x60,0x7e] +// CHECK: sqneg s20, s12 // encoding: [0x94,0x79,0xa0,0x7e] +// CHECK: sqneg d18, d12 // encoding: [0x92,0x79,0xe0,0x7e] diff --git a/test/MC/Disassembler/AArch64/neon-instructions.txt b/test/MC/Disassembler/AArch64/neon-instructions.txt index e6c45c0..248071b 100644 --- a/test/MC/Disassembler/AArch64/neon-instructions.txt +++ b/test/MC/Disassembler/AArch64/neon-instructions.txt @@ -1599,3 +1599,27 @@ #---------------------------------------------------------------------- # CHECK: cmtst d20, d21, d22 0xb4,0x8e,0xf6,0x5e + +#---------------------------------------------------------------------- +# Scalar Absolute Value +#---------------------------------------------------------------------- +# CHECK: sqabs b19, b14 +# CHECK: sqabs h21, h15 +# CHECK: sqabs s20, s12 +# CHECK: sqabs d18, d12 +0xd3,0x79,0x20,0x5e +0xf5,0x79,0x60,0x5e +0x94,0x79,0xa0,0x5e +0x92,0x79,0xe0,0x5e + +#---------------------------------------------------------------------- +# Scalar Signed Saturating Negate +#---------------------------------------------------------------------- +# CHECK: sqneg b19, b14 +# CHECK: sqneg h21, h15 +# CHECK: sqneg s20, s12 +# CHECK: sqneg d18, d12 +0xd3,0x79,0x20,0x7e +0xf5,0x79,0x60,0x7e +0x94,0x79,0xa0,0x7e +0x92,0x79,0xe0,0x7e |