diff options
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/AArch64/neon-diagnostics.s | 44 | ||||
-rw-r--r-- | test/MC/AArch64/neon-scalar-saturating-add-sub.s | 27 | ||||
-rw-r--r-- | test/MC/Disassembler/AArch64/neon-instructions.txt | 24 |
3 files changed, 95 insertions, 0 deletions
diff --git a/test/MC/AArch64/neon-diagnostics.s b/test/MC/AArch64/neon-diagnostics.s index e08c5cd..dc49b3a 100644 --- a/test/MC/AArch64/neon-diagnostics.s +++ b/test/MC/AArch64/neon-diagnostics.s @@ -4396,3 +4396,47 @@ // CHECK-ERROR: error: invalid operand for instruction // CHECK-ERROR: cmtst b20, d21, d22 // CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Signed Saturating Accumulated of Unsigned Value +//---------------------------------------------------------------------- + + suqadd b0, h1 + suqadd h0, s1 + suqadd s0, d1 + suqadd d0, b0 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: suqadd b0, h1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: suqadd h0, s1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: suqadd s0, d1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: suqadd d0, b0 +// CHECK-ERROR: ^ + +//---------------------------------------------------------------------- +// Scalar Unsigned Saturating Accumulated of Unsigned Value +//---------------------------------------------------------------------- + + usqadd b0, h1 + usqadd h0, s1 + usqadd s0, d1 + usqadd d0, b1 + +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: usqadd b0, h1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: usqadd h0, s1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: usqadd s0, d1 +// CHECK-ERROR: ^ +// CHECK-ERROR: error: invalid operand for instruction +// CHECK-ERROR: usqadd d0, b1 +// CHECK-ERROR: ^ diff --git a/test/MC/AArch64/neon-scalar-saturating-add-sub.s b/test/MC/AArch64/neon-scalar-saturating-add-sub.s index fc2d50c..ebd0e09 100644 --- a/test/MC/AArch64/neon-scalar-saturating-add-sub.s +++ b/test/MC/AArch64/neon-scalar-saturating-add-sub.s @@ -52,3 +52,30 @@ // CHECK: uqsub s20, s21, s2 // encoding: [0xb4,0x2e,0xa2,0x7e] // CHECK: uqsub d17, d31, d8 // encoding: [0xf1,0x2f,0xe8,0x7e] +//---------------------------------------------------------------------- +// Signed Saturating Accumulated of Unsigned Value +//---------------------------------------------------------------------- + + suqadd b19, b14 + suqadd h20, h15 + suqadd s21, s12 + suqadd d18, d22 + +// CHECK: suqadd b19, b14 // encoding: [0xd3,0x39,0x20,0x5e] +// CHECK: suqadd h20, h15 // encoding: [0xf4,0x39,0x60,0x5e] +// CHECK: suqadd s21, s12 // encoding: [0x95,0x39,0xa0,0x5e] +// CHECK: suqadd d18, d22 // encoding: [0xd2,0x3a,0xe0,0x5e] + +//---------------------------------------------------------------------- +// Unsigned Saturating Accumulated of Unsigned Value +//---------------------------------------------------------------------- + + usqadd b19, b14 + usqadd h20, h15 + usqadd s21, s12 + usqadd d18, d22 + +// CHECK: usqadd b19, b14 // encoding: [0xd3,0x39,0x20,0x7e] +// CHECK: usqadd h20, h15 // encoding: [0xf4,0x39,0x60,0x7e] +// CHECK: usqadd s21, s12 // encoding: [0x95,0x39,0xa0,0x7e] +// CHECK: usqadd d18, d22 // encoding: [0xd2,0x3a,0xe0,0x7e] diff --git a/test/MC/Disassembler/AArch64/neon-instructions.txt b/test/MC/Disassembler/AArch64/neon-instructions.txt index 248071b..b52b682 100644 --- a/test/MC/Disassembler/AArch64/neon-instructions.txt +++ b/test/MC/Disassembler/AArch64/neon-instructions.txt @@ -1623,3 +1623,27 @@ 0xf5,0x79,0x60,0x7e 0x94,0x79,0xa0,0x7e 0x92,0x79,0xe0,0x7e + +#---------------------------------------------------------------------- +# Signed Saturating Accumulated of Unsigned Value +#---------------------------------------------------------------------- +# CHECK: suqadd b19, b14 +# CHECK: suqadd h20, h15 +# CHECK: suqadd s21, s12 +# CHECK: suqadd d18, d22 +0xd3,0x39,0x20,0x5e +0xf4,0x39,0x60,0x5e +0x95,0x39,0xa0,0x5e +0xd2,0x3a,0xe0,0x5e + +#---------------------------------------------------------------------- +# Unsigned Saturating Accumulated of Unsigned Value +#---------------------------------------------------------------------- +# CHECK: usqadd b19, b14 +# CHECK: usqadd h20, h15 +# CHECK: usqadd s21, s12 +# CHECK: usqadd d18, d22 +0xd3,0x39,0x20,0x7e +0xf4,0x39,0x60,0x7e +0x95,0x39,0xa0,0x7e +0xd2,0x3a,0xe0,0x7e |