1 // RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s 2 3 // Check that the assembler can handle the documented syntax for AArch64 4 5 6 //------------------------------------------------------------------------------ 7 // Vector Add Pairwise (Integer) 8 //------------------------------------------------------------------------------ 9 addp v0.8b, v1.8b, v2.8b 10 addp v0.16b, v1.16b, v2.16b 11 addp v0.4h, v1.4h, v2.4h 12 addp v0.8h, v1.8h, v2.8h 13 addp v0.2s, v1.2s, v2.2s 14 addp v0.4s, v1.4s, v2.4s 15 addp v0.2d, v1.2d, v2.2d 16 17 // CHECK: addp v0.8b, v1.8b, v2.8b // encoding: [0x20,0xbc,0x22,0x0e] 18 // CHECK: addp v0.16b, v1.16b, v2.16b // encoding: [0x20,0xbc,0x22,0x4e] 19 // CHECK: addp v0.4h, v1.4h, v2.4h // encoding: [0x20,0xbc,0x62,0x0e] 20 // CHECK: addp v0.8h, v1.8h, v2.8h // encoding: [0x20,0xbc,0x62,0x4e] 21 // CHECK: addp v0.2s, v1.2s, v2.2s // encoding: [0x20,0xbc,0xa2,0x0e] 22 // CHECK: addp v0.4s, v1.4s, v2.4s // encoding: [0x20,0xbc,0xa2,0x4e] 23 // CHECK: addp v0.2d, v1.2d, v2.2d // encoding: [0x20,0xbc,0xe2,0x4e] 24 25 //------------------------------------------------------------------------------ 26 // Vector Add Pairwise (Floating Point 27 //------------------------------------------------------------------------------ 28 faddp v0.4h, v1.4h, v2.4h 29 faddp v0.8h, v1.8h, v2.8h 30 faddp v0.2s, v1.2s, v2.2s 31 faddp v0.4s, v1.4s, v2.4s 32 faddp v0.2d, v1.2d, v2.2d 33 34 // CHECK: faddp v0.4h, v1.4h, v2.4h // encoding: [0x20,0x14,0x42,0x2e] 35 // CHECK: faddp v0.8h, v1.8h, v2.8h // encoding: [0x20,0x14,0x42,0x6e] 36 // CHECK: faddp v0.2s, v1.2s, v2.2s // encoding: [0x20,0xd4,0x22,0x2e] 37 // CHECK: faddp v0.4s, v1.4s, v2.4s // encoding: [0x20,0xd4,0x22,0x6e] 38 // CHECK: faddp v0.2d, v1.2d, v2.2d // encoding: [0x20,0xd4,0x62,0x6e] 39