diff options
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/AArch64/neon-diagnostics.s | 110 | ||||
-rw-r--r-- | test/MC/AArch64/neon-scalar-compare.s | 90 | ||||
-rw-r--r-- | test/MC/Disassembler/AArch64/neon-instructions.txt | 67 |
3 files changed, 267 insertions, 0 deletions
diff --git a/test/MC/AArch64/neon-diagnostics.s b/test/MC/AArch64/neon-diagnostics.s index 2af7798..e08c5cd 100644 --- a/test/MC/AArch64/neon-diagnostics.s +++ b/test/MC/AArch64/neon-diagnostics.s @@ -4286,3 +4286,113 @@ // CHECK-ERROR dup v5.2d, w0 // CHECK-ERROR ^ +//---------------------------------------------------------------------- +// Scalar Compare Bitwise Equal +//---------------------------------------------------------------------- + + cmeq b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmeq b20, d21, d22 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Bitwise Equal To Zero +//---------------------------------------------------------------------- + + cmeq d20, b21, #0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmeq d20, b21, #0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Unsigned Higher Or Same +//---------------------------------------------------------------------- + + cmhs b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmhs b20, d21, d22 +// CHECK-ERROR: ^ + + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greather Than Or Equal +//---------------------------------------------------------------------- + + cmge b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmge b20, d21, d22 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greather Than Or Equal To Zero +//---------------------------------------------------------------------- + + cmge d20, b21, #0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmge d20, b21, #0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Unsigned Higher +//---------------------------------------------------------------------- + + cmhi b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmhi b20, d21, d22 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greater Than +//---------------------------------------------------------------------- + + cmgt b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmgt b20, d21, d22 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greater Than Zero +//---------------------------------------------------------------------- + + cmgt d20, b21, #0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmgt d20, b21, #0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Signed Less Than Or Equal To Zero +//---------------------------------------------------------------------- + + cmle d20, b21, #0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmle d20, b21, #0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Less Than Zero +//---------------------------------------------------------------------- + + cmlt d20, b21, #0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmlt d20, b21, #0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Compare Bitwise Test Bits +//---------------------------------------------------------------------- + + cmtst b20, d21, d22 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: cmtst b20, d21, d22 +// CHECK-ERROR: ^ diff --git a/test/MC/AArch64/neon-scalar-compare.s b/test/MC/AArch64/neon-scalar-compare.s new file mode 100644 index 0000000..55ade0e --- /dev/null +++ b/test/MC/AArch64/neon-scalar-compare.s @@ -0,0 +1,90 @@ +// 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 Compare Bitwise Equal +//---------------------------------------------------------------------- + + cmeq d20, d21, d22 + +// CHECK: cmeq d20, d21, d22 // encoding: [0xb4,0x8e,0xf6,0x7e] + +//---------------------------------------------------------------------- +// Scalar Compare Bitwise Equal To Zero +//---------------------------------------------------------------------- + + cmeq d20, d21, #0x0 + +// CHECK: cmeq d20, d21, #0x0 // encoding: [0xb4,0x9a,0xe0,0x5e] + +//---------------------------------------------------------------------- +// Scalar Compare Unsigned Higher Or Same +//---------------------------------------------------------------------- + + cmhs d20, d21, d22 + +// CHECK: cmhs d20, d21, d22 // encoding: [0xb4,0x3e,0xf6,0x7e] + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greather Than Or Equal +//---------------------------------------------------------------------- + + cmge d20, d21, d22 + +// CHECK: cmge d20, d21, d22 // encoding: [0xb4,0x3e,0xf6,0x5e] + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greather Than Or Equal To Zero +//---------------------------------------------------------------------- + + cmge d20, d21, #0x0 + +// CHECK: cmge d20, d21, #0x0 // encoding: [0xb4,0x8a,0xe0,0x7e] + +//---------------------------------------------------------------------- +// Scalar Compare Unsigned Higher +//---------------------------------------------------------------------- + + cmhi d20, d21, d22 + +// CHECK: cmhi d20, d21, d22 // encoding: [0xb4,0x36,0xf6,0x7e] +//---------------------------------------------------------------------- +// Scalar Compare Signed Greater Than +//---------------------------------------------------------------------- + + cmgt d20, d21, d22 + +// CHECK: cmgt d20, d21, d22 // encoding: [0xb4,0x36,0xf6,0x5e] + +//---------------------------------------------------------------------- +// Scalar Compare Signed Greater Than Zero +//---------------------------------------------------------------------- + + cmgt d20, d21, #0x0 + +// CHECK: cmgt d20, d21, #0x0 // encoding: [0xb4,0x8a,0xe0,0x5e] + +//---------------------------------------------------------------------- +// Scalar Compare Signed Less Than Or Equal To Zero +//---------------------------------------------------------------------- + + cmle d20, d21, #0x0 + +// CHECK: cmle d20, d21, #0x0 // encoding: [0xb4,0x9a,0xe0,0x7e] + +//---------------------------------------------------------------------- +// Scalar Compare Less Than Zero +//---------------------------------------------------------------------- + + cmlt d20, d21, #0x0 + +// CHECK: cmlt d20, d21, #0x0 // encoding: [0xb4,0xaa,0xe0,0x5e] + +//---------------------------------------------------------------------- +// Scalar Compare Bitwise Test Bits +//---------------------------------------------------------------------- + + cmtst d20, d21, d22 + +// CHECK: cmtst d20, d21, d22 // encoding: [0xb4,0x8e,0xf6,0x5e] diff --git a/test/MC/Disassembler/AArch64/neon-instructions.txt b/test/MC/Disassembler/AArch64/neon-instructions.txt index b05d3cb..e6c45c0 100644 --- a/test/MC/Disassembler/AArch64/neon-instructions.txt +++ b/test/MC/Disassembler/AArch64/neon-instructions.txt @@ -1532,3 +1532,70 @@ # CHECK: frsqrte d21, d12 0xb6,0xd9,0xa1,0x7e 0x95,0xd9,0xe1,0x7e + +#---------------------------------------------------------------------- +# Scalar Compare Bitwise Equal +#---------------------------------------------------------------------- +# CHECK: cmeq d20, d21, d22 +0xb4,0x8e,0xf6,0x7e + +#---------------------------------------------------------------------- +# Scalar Compare Bitwise Equal To Zero +#---------------------------------------------------------------------- +# CHECK: cmeq d20, d21, #0x0 +0xb4,0x9a,0xe0,0x5e + +#---------------------------------------------------------------------- +# Scalar Compare Unsigned Higher Or Same +#---------------------------------------------------------------------- +# CHECK: cmhs d20, d21, d22 +0xb4,0x3e,0xf6,0x7e + + +#---------------------------------------------------------------------- +# Scalar Compare Signed Greather Than Or Equal +#---------------------------------------------------------------------- +# CHECK: cmge d20, d21, d22 +0xb4,0x3e,0xf6,0x5e + +#---------------------------------------------------------------------- +# Scalar Compare Signed Greather Than Or Equal To Zero +#---------------------------------------------------------------------- +# CHECK: cmge d20, d21, #0x0 +0xb4,0x8a,0xe0,0x7e + +#---------------------------------------------------------------------- +# Scalar Compare Unsigned Higher +#---------------------------------------------------------------------- +# CHECK: cmhi d20, d21, d22 +0xb4,0x36,0xf6,0x7e + +#---------------------------------------------------------------------- +# Scalar Compare Signed Greater Than +#---------------------------------------------------------------------- +# CHECK: cmgt d20, d21, d22 +0xb4,0x36,0xf6,0x5e + +#---------------------------------------------------------------------- +# Scalar Compare Signed Greater Than Zero +#---------------------------------------------------------------------- +# CHECK: cmgt d20, d21, #0x0 +0xb4,0x8a,0xe0,0x5e + +#---------------------------------------------------------------------- +# Scalar Compare Signed Less Than Or Equal To Zero +#---------------------------------------------------------------------- +# CHECK: cmle d20, d21, #0x0 +0xb4,0x9a,0xe0,0x7e + +#---------------------------------------------------------------------- +# Scalar Compare Less Than Zero +#---------------------------------------------------------------------- +# CHECK: cmlt d20, d21, #0x0 +0xb4,0xaa,0xe0,0x5e + +#---------------------------------------------------------------------- +# Scalar Compare Bitwise Test Bits +#---------------------------------------------------------------------- +# CHECK: cmtst d20, d21, d22 +0xb4,0x8e,0xf6,0x5e |