187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s 287773c318fcee853fb34a80a10c4347d523bdafbTim Northover 387773c318fcee853fb34a80a10c4347d523bdafbTim Northover// Check that the assembler can handle the documented syntax for AArch64 487773c318fcee853fb34a80a10c4347d523bdafbTim Northover 587773c318fcee853fb34a80a10c4347d523bdafbTim Northover 687773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 787773c318fcee853fb34a80a10c4347d523bdafbTim Northover// Vector Integer Saturating Add (Signed) 887773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 987773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.8b, v1.8b, v2.8b 1087773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.16b, v1.16b, v2.16b 1187773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.4h, v1.4h, v2.4h 1287773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.8h, v1.8h, v2.8h 1387773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.2s, v1.2s, v2.2s 1487773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.4s, v1.4s, v2.4s 1587773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqadd v0.2d, v1.2d, v2.2d 1687773c318fcee853fb34a80a10c4347d523bdafbTim Northover 1787773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.8b, v1.8b, v2.8b // encoding: [0x20,0x0c,0x22,0x0e] 1887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.16b, v1.16b, v2.16b // encoding: [0x20,0x0c,0x22,0x4e] 1987773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.4h, v1.4h, v2.4h // encoding: [0x20,0x0c,0x62,0x0e] 2087773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.8h, v1.8h, v2.8h // encoding: [0x20,0x0c,0x62,0x4e] 2187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.2s, v1.2s, v2.2s // encoding: [0x20,0x0c,0xa2,0x0e] 2287773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.4s, v1.4s, v2.4s // encoding: [0x20,0x0c,0xa2,0x4e] 2387773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqadd v0.2d, v1.2d, v2.2d // encoding: [0x20,0x0c,0xe2,0x4e] 2487773c318fcee853fb34a80a10c4347d523bdafbTim Northover 2587773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 2687773c318fcee853fb34a80a10c4347d523bdafbTim Northover// Vector Integer Saturating Add (Unsigned) 2787773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 2887773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.8b, v1.8b, v2.8b 2987773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.16b, v1.16b, v2.16b 3087773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.4h, v1.4h, v2.4h 3187773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.8h, v1.8h, v2.8h 3287773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.2s, v1.2s, v2.2s 3387773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.4s, v1.4s, v2.4s 3487773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqadd v0.2d, v1.2d, v2.2d 3587773c318fcee853fb34a80a10c4347d523bdafbTim Northover 3687773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.8b, v1.8b, v2.8b // encoding: [0x20,0x0c,0x22,0x2e] 3787773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.16b, v1.16b, v2.16b // encoding: [0x20,0x0c,0x22,0x6e] 3887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.4h, v1.4h, v2.4h // encoding: [0x20,0x0c,0x62,0x2e] 3987773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.8h, v1.8h, v2.8h // encoding: [0x20,0x0c,0x62,0x6e] 4087773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.2s, v1.2s, v2.2s // encoding: [0x20,0x0c,0xa2,0x2e] 4187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.4s, v1.4s, v2.4s // encoding: [0x20,0x0c,0xa2,0x6e] 4287773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqadd v0.2d, v1.2d, v2.2d // encoding: [0x20,0x0c,0xe2,0x6e] 4387773c318fcee853fb34a80a10c4347d523bdafbTim Northover 4487773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 4587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// Vector Integer Saturating Sub (Signed) 4687773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 4787773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.8b, v1.8b, v2.8b 4887773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.16b, v1.16b, v2.16b 4987773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.4h, v1.4h, v2.4h 5087773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.8h, v1.8h, v2.8h 5187773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.2s, v1.2s, v2.2s 5287773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.4s, v1.4s, v2.4s 5387773c318fcee853fb34a80a10c4347d523bdafbTim Northover sqsub v0.2d, v1.2d, v2.2d 5487773c318fcee853fb34a80a10c4347d523bdafbTim Northover 5587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.8b, v1.8b, v2.8b // encoding: [0x20,0x2c,0x22,0x0e] 5687773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.16b, v1.16b, v2.16b // encoding: [0x20,0x2c,0x22,0x4e] 5787773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.4h, v1.4h, v2.4h // encoding: [0x20,0x2c,0x62,0x0e] 5887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.8h, v1.8h, v2.8h // encoding: [0x20,0x2c,0x62,0x4e] 5987773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.2s, v1.2s, v2.2s // encoding: [0x20,0x2c,0xa2,0x0e] 6087773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.4s, v1.4s, v2.4s // encoding: [0x20,0x2c,0xa2,0x4e] 6187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: sqsub v0.2d, v1.2d, v2.2d // encoding: [0x20,0x2c,0xe2,0x4e] 6287773c318fcee853fb34a80a10c4347d523bdafbTim Northover 6387773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 6487773c318fcee853fb34a80a10c4347d523bdafbTim Northover// Vector Integer Saturating Sub (Unsigned) 6587773c318fcee853fb34a80a10c4347d523bdafbTim Northover//------------------------------------------------------------------------------ 6687773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.8b, v1.8b, v2.8b 6787773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.16b, v1.16b, v2.16b 6887773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.4h, v1.4h, v2.4h 6987773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.8h, v1.8h, v2.8h 7087773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.2s, v1.2s, v2.2s 7187773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.4s, v1.4s, v2.4s 7287773c318fcee853fb34a80a10c4347d523bdafbTim Northover uqsub v0.2d, v1.2d, v2.2d 7387773c318fcee853fb34a80a10c4347d523bdafbTim Northover 7487773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.8b, v1.8b, v2.8b // encoding: [0x20,0x2c,0x22,0x2e] 7587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.16b, v1.16b, v2.16b // encoding: [0x20,0x2c,0x22,0x6e] 7687773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.4h, v1.4h, v2.4h // encoding: [0x20,0x2c,0x62,0x2e] 7787773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.8h, v1.8h, v2.8h // encoding: [0x20,0x2c,0x62,0x6e] 7887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.2s, v1.2s, v2.2s // encoding: [0x20,0x2c,0xa2,0x2e] 7987773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.4s, v1.4s, v2.4s // encoding: [0x20,0x2c,0xa2,0x6e] 8087773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK: uqsub v0.2d, v1.2d, v2.2d // encoding: [0x20,0x2c,0xe2,0x6e] 8187773c318fcee853fb34a80a10c4347d523bdafbTim Northover 8287773c318fcee853fb34a80a10c4347d523bdafbTim Northover 83