neon-simd-misc.s revision 27df434c5e8c78e8b3e6e9596b55a6a6bd8d5116
127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// RUN: llvm-mc -triple=aarch64 -mattr=+neon -show-encoding < %s | FileCheck %s 227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Check that the assembler can handle the documented syntax for AArch64 427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Element reverse 827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v0.16b, v31.16b 1027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v2.8h, v4.8h 1127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v6.4s, v8.4s 1227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v1.8b, v9.8b 1327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v13.4h, v21.4h 1427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev64 v4.2s, v0.2s 1527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 1627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v0.16b, v31.16b // encoding: [0xe0,0x0b,0x20,0x4e] 1727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v2.8h, v4.8h // encoding: [0x82,0x08,0x60,0x4e] 1827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v6.4s, v8.4s // encoding: [0x06,0x09,0xa0,0x4e] 1927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v1.8b, v9.8b // encoding: [0x21,0x09,0x20,0x0e] 2027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v13.4h, v21.4h // encoding: [0xad,0x0a,0x60,0x0e] 2127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev64 v4.2s, v0.2s // encoding: [0x04,0x08,0xa0,0x0e] 2227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 2327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev32 v30.16b, v31.16b 2427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev32 v4.8h, v7.8h 2527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev32 v21.8b, v1.8b 2627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev32 v0.4h, v9.4h 2727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 2827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev32 v30.16b, v31.16b // encoding: [0xfe,0x0b,0x20,0x6e] 2927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev32 v4.8h, v7.8h // encoding: [0xe4,0x08,0x60,0x6e] 3027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev32 v21.8b, v1.8b // encoding: [0x35,0x08,0x20,0x2e] 3127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev32 v0.4h, v9.4h // encoding: [0x20,0x09,0x60,0x2e] 3227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 3327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev16 v30.16b, v31.16b 3427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rev16 v21.8b, v1.8b 3527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 3627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev16 v30.16b, v31.16b // encoding: [0xfe,0x1b,0x20,0x4e] 3727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rev16 v21.8b, v1.8b // encoding: [0x35,0x18,0x20,0x0e] 3827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 3927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 4027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer pairwise add long 4127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 4227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 4327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v3.8h, v21.16b 4427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v8.4h, v5.8b 4527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v9.4s, v1.8h 4627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v0.2s, v1.4h 4727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v12.2d, v4.4s 4827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin saddlp v17.1d, v28.2s 4927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 5027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v3.8h, v21.16b // encoding: [0xa3,0x2a,0x20,0x4e] 5127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v8.4h, v5.8b // encoding: [0xa8,0x28,0x20,0x0e] 5227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v9.4s, v1.8h // encoding: [0x29,0x28,0x60,0x4e] 5327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v0.2s, v1.4h // encoding: [0x20,0x28,0x60,0x0e] 5427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v12.2d, v4.4s // encoding: [0x8c,0x28,0xa0,0x4e] 5527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: saddlp v17.1d, v28.2s // encoding: [0x91,0x2b,0xa0,0x0e] 5627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 5727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 5827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Unsigned integer pairwise add long 5927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 6027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 6127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v3.8h, v21.16b 6227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v8.4h, v5.8b 6327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v9.4s, v1.8h 6427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v0.2s, v1.4h 6527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v12.2d, v4.4s 6627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uaddlp v17.1d, v28.2s 6727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 6827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v3.8h, v21.16b // encoding: [0xa3,0x2a,0x20,0x6e] 6927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v8.4h, v5.8b // encoding: [0xa8,0x28,0x20,0x2e] 7027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v9.4s, v1.8h // encoding: [0x29,0x28,0x60,0x6e] 7127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v0.2s, v1.4h // encoding: [0x20,0x28,0x60,0x2e] 7227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v12.2d, v4.4s // encoding: [0x8c,0x28,0xa0,0x6e] 7327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uaddlp v17.1d, v28.2s // encoding: [0x91,0x2b,0xa0,0x2e] 7427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 7527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 7627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer pairwise add and accumulate long 7727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 7827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 7927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v3.8h, v21.16b 8027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v8.4h, v5.8b 8127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v9.4s, v1.8h 8227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v0.2s, v1.4h 8327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v12.2d, v4.4s 8427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sadalp v17.1d, v28.2s 8527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 8627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v3.8h, v21.16b // encoding: [0xa3,0x6a,0x20,0x4e] 8727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v8.4h, v5.8b // encoding: [0xa8,0x68,0x20,0x0e] 8827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v9.4s, v1.8h // encoding: [0x29,0x68,0x60,0x4e] 8927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v0.2s, v1.4h // encoding: [0x20,0x68,0x60,0x0e] 9027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v12.2d, v4.4s // encoding: [0x8c,0x68,0xa0,0x4e] 9127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sadalp v17.1d, v28.2s // encoding: [0x91,0x6b,0xa0,0x0e] 9227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 9327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 9427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Unsigned integer pairwise add and accumulate long 9527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 9627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 9727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v3.8h, v21.16b 9827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v8.4h, v5.8b 9927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v9.4s, v1.8h 10027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v0.2s, v1.4h 10127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v12.2d, v4.4s 10227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uadalp v17.1d, v28.2s 10327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 10427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v3.8h, v21.16b // encoding: [0xa3,0x6a,0x20,0x6e] 10527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v8.4h, v5.8b // encoding: [0xa8,0x68,0x20,0x2e] 10627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v9.4s, v1.8h // encoding: [0x29,0x68,0x60,0x6e] 10727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v0.2s, v1.4h // encoding: [0x20,0x68,0x60,0x2e] 10827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v12.2d, v4.4s // encoding: [0x8c,0x68,0xa0,0x6e] 10927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uadalp v17.1d, v28.2s // encoding: [0x91,0x6b,0xa0,0x2e] 11027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 11127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 11227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer saturating accumulate of unsigned value 11327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 11427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 11527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v0.16b, v31.16b 11627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v2.8h, v4.8h 11727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v6.4s, v8.4s 11827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v6.2d, v8.2d 11927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v1.8b, v9.8b 12027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v13.4h, v21.4h 12127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin suqadd v4.2s, v0.2s 12227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 12327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v0.16b, v31.16b // encoding: [0xe0,0x3b,0x20,0x4e] 12427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v2.8h, v4.8h // encoding: [0x82,0x38,0x60,0x4e] 12527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v6.4s, v8.4s // encoding: [0x06,0x39,0xa0,0x4e] 12627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v6.2d, v8.2d // encoding: [0x06,0x39,0xe0,0x4e] 12727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v1.8b, v9.8b // encoding: [0x21,0x39,0x20,0x0e] 12827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v13.4h, v21.4h // encoding: [0xad,0x3a,0x60,0x0e] 12927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: suqadd v4.2s, v0.2s // encoding: [0x04,0x38,0xa0,0x0e] 13027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 13127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 13227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Unsigned integer saturating accumulate of signed value 13327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 13427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 13527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v0.16b, v31.16b 13627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v2.8h, v4.8h 13727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v6.4s, v8.4s 13827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v6.2d, v8.2d 13927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v1.8b, v9.8b 14027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v13.4h, v21.4h 14127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin usqadd v4.2s, v0.2s 14227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 14327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v0.16b, v31.16b // encoding: [0xe0,0x3b,0x20,0x6e] 14427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v2.8h, v4.8h // encoding: [0x82,0x38,0x60,0x6e] 14527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v6.4s, v8.4s // encoding: [0x06,0x39,0xa0,0x6e] 14627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v6.2d, v8.2d // encoding: [0x06,0x39,0xe0,0x6e] 14727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v1.8b, v9.8b // encoding: [0x21,0x39,0x20,0x2e] 14827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v13.4h, v21.4h // encoding: [0xad,0x3a,0x60,0x2e] 14927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: usqadd v4.2s, v0.2s // encoding: [0x04,0x38,0xa0,0x2e] 15027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 15127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 15227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer saturating absolute 15327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 15427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 15527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v0.16b, v31.16b 15627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v2.8h, v4.8h 15727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v6.4s, v8.4s 15827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v6.2d, v8.2d 15927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v1.8b, v9.8b 16027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v13.4h, v21.4h 16127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqabs v4.2s, v0.2s 16227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 16327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v0.16b, v31.16b // encoding: [0xe0,0x7b,0x20,0x4e] 16427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v2.8h, v4.8h // encoding: [0x82,0x78,0x60,0x4e] 16527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v6.4s, v8.4s // encoding: [0x06,0x79,0xa0,0x4e] 16627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v6.2d, v8.2d // encoding: [0x06,0x79,0xe0,0x4e] 16727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v1.8b, v9.8b // encoding: [0x21,0x79,0x20,0x0e] 16827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v13.4h, v21.4h // encoding: [0xad,0x7a,0x60,0x0e] 16927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqabs v4.2s, v0.2s // encoding: [0x04,0x78,0xa0,0x0e] 17027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 17127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 17227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer saturating negate 17327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 17427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 17527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v0.16b, v31.16b 17627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v2.8h, v4.8h 17727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v6.4s, v8.4s 17827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v6.2d, v8.2d 17927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v1.8b, v9.8b 18027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v13.4h, v21.4h 18127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqneg v4.2s, v0.2s 18227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 18327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v0.16b, v31.16b // encoding: [0xe0,0x7b,0x20,0x6e] 18427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v2.8h, v4.8h // encoding: [0x82,0x78,0x60,0x6e] 18527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v6.4s, v8.4s // encoding: [0x06,0x79,0xa0,0x6e] 18627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v6.2d, v8.2d // encoding: [0x06,0x79,0xe0,0x6e] 18727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v1.8b, v9.8b // encoding: [0x21,0x79,0x20,0x2e] 18827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v13.4h, v21.4h // encoding: [0xad,0x7a,0x60,0x2e] 18927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqneg v4.2s, v0.2s // encoding: [0x04,0x78,0xa0,0x2e] 19027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 19127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 19227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer absolute 19327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 19427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 19527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v0.16b, v31.16b 19627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v2.8h, v4.8h 19727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v6.4s, v8.4s 19827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v6.2d, v8.2d 19927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v1.8b, v9.8b 20027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v13.4h, v21.4h 20127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin abs v4.2s, v0.2s 20227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 20327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v0.16b, v31.16b // encoding: [0xe0,0xbb,0x20,0x4e] 20427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v2.8h, v4.8h // encoding: [0x82,0xb8,0x60,0x4e] 20527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v6.4s, v8.4s // encoding: [0x06,0xb9,0xa0,0x4e] 20627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v6.2d, v8.2d // encoding: [0x06,0xb9,0xe0,0x4e] 20727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v1.8b, v9.8b // encoding: [0x21,0xb9,0x20,0x0e] 20827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v13.4h, v21.4h // encoding: [0xad,0xba,0x60,0x0e] 20927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: abs v4.2s, v0.2s // encoding: [0x04,0xb8,0xa0,0x0e] 21027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 21127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 21227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer negate 21327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 21427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 21527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v0.16b, v31.16b 21627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v2.8h, v4.8h 21727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v6.4s, v8.4s 21827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v6.2d, v8.2d 21927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v1.8b, v9.8b 22027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v13.4h, v21.4h 22127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin neg v4.2s, v0.2s 22227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 22327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v0.16b, v31.16b // encoding: [0xe0,0xbb,0x20,0x6e] 22427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v2.8h, v4.8h // encoding: [0x82,0xb8,0x60,0x6e] 22527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v6.4s, v8.4s // encoding: [0x06,0xb9,0xa0,0x6e] 22627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v6.2d, v8.2d // encoding: [0x06,0xb9,0xe0,0x6e] 22727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v1.8b, v9.8b // encoding: [0x21,0xb9,0x20,0x2e] 22827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v13.4h, v21.4h // encoding: [0xad,0xba,0x60,0x2e] 22927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: neg v4.2s, v0.2s // encoding: [0x04,0xb8,0xa0,0x2e] 23027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 23127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 23227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer count leading sign bits 23327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 23427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 23527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v0.16b, v31.16b 23627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v2.8h, v4.8h 23727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v6.4s, v8.4s 23827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v1.8b, v9.8b 23927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v13.4h, v21.4h 24027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cls v4.2s, v0.2s 24127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 24227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v0.16b, v31.16b // encoding: [0xe0,0x4b,0x20,0x4e] 24327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v2.8h, v4.8h // encoding: [0x82,0x48,0x60,0x4e] 24427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v6.4s, v8.4s // encoding: [0x06,0x49,0xa0,0x4e] 24527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v1.8b, v9.8b // encoding: [0x21,0x49,0x20,0x0e] 24627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v13.4h, v21.4h // encoding: [0xad,0x4a,0x60,0x0e] 24727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cls v4.2s, v0.2s // encoding: [0x04,0x48,0xa0,0x0e] 24827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 24927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 25027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer count leading zeros 25127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 25227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 25327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v0.16b, v31.16b 25427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v2.8h, v4.8h 25527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v6.4s, v8.4s 25627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v1.8b, v9.8b 25727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v13.4h, v21.4h 25827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin clz v4.2s, v0.2s 25927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 26027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v0.16b, v31.16b // encoding: [0xe0,0x4b,0x20,0x6e] 26127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v2.8h, v4.8h // encoding: [0x82,0x48,0x60,0x6e] 26227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v6.4s, v8.4s // encoding: [0x06,0x49,0xa0,0x6e] 26327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v1.8b, v9.8b // encoding: [0x21,0x49,0x20,0x2e] 26427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v13.4h, v21.4h // encoding: [0xad,0x4a,0x60,0x2e] 26527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: clz v4.2s, v0.2s // encoding: [0x04,0x48,0xa0,0x2e] 26627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 26727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 26827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Population count 26927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 27027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 27127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cnt v0.16b, v31.16b 27227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin cnt v1.8b, v9.8b 27327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 27427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cnt v0.16b, v31.16b // encoding: [0xe0,0x5b,0x20,0x4e] 27527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: cnt v1.8b, v9.8b // encoding: [0x21,0x59,0x20,0x0e] 27627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 27727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 27827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Bitwise NOT 27927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 28027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 28127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin not v0.16b, v31.16b 28227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin not v1.8b, v9.8b 28327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 28427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: not v0.16b, v31.16b // encoding: [0xe0,0x5b,0x20,0x6e] 28527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: not v1.8b, v9.8b // encoding: [0x21,0x59,0x20,0x2e] 28627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 28727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 28827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Bitwise reverse 28927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 29027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 29127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rbit v0.16b, v31.16b 29227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin rbit v1.8b, v9.8b 29327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 29427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rbit v0.16b, v31.16b // encoding: [0xe0,0x5b,0x60,0x6e] 29527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: rbit v1.8b, v9.8b // encoding: [0x21,0x59,0x60,0x2e] 29627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 29727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 29827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point absolute 29927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 30027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 30127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fabs v6.4s, v8.4s 30227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fabs v6.2d, v8.2d 30327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fabs v4.2s, v0.2s 30427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 30527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fabs v6.4s, v8.4s // encoding: [0x06,0xf9,0xa0,0x4e] 30627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fabs v6.2d, v8.2d // encoding: [0x06,0xf9,0xe0,0x4e] 30727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fabs v4.2s, v0.2s // encoding: [0x04,0xf8,0xa0,0x0e] 30827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 30927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 31027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point negate 31127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 31227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 31327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fneg v6.4s, v8.4s 31427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fneg v6.2d, v8.2d 31527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fneg v4.2s, v0.2s 31627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 31727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fneg v6.4s, v8.4s // encoding: [0x06,0xf9,0xa0,0x6e] 31827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fneg v6.2d, v8.2d // encoding: [0x06,0xf9,0xe0,0x6e] 31927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fneg v4.2s, v0.2s // encoding: [0x04,0xf8,0xa0,0x2e] 32027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 32127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 32227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer extract and narrow 32327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 32427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 32527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn2 v0.16b, v31.8h 32627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn2 v2.8h, v4.4s 32727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn2 v6.4s, v8.2d 32827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn v1.8b, v9.8h 32927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn v13.4h, v21.4s 33027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin xtn v4.2s, v0.2d 33127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 33227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn2 v0.16b, v31.8h // encoding: [0xe0,0x2b,0x21,0x4e] 33327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn2 v2.8h, v4.4s // encoding: [0x82,0x28,0x61,0x4e] 33427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn2 v6.4s, v8.2d // encoding: [0x06,0x29,0xa1,0x4e] 33527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn v1.8b, v9.8h // encoding: [0x21,0x29,0x21,0x0e] 33627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn v13.4h, v21.4s // encoding: [0xad,0x2a,0x61,0x0e] 33727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: xtn v4.2s, v0.2d // encoding: [0x04,0x28,0xa1,0x0e] 33827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 33927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 34027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer saturating extract and unsigned narrow 34127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 34227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 34327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun2 v0.16b, v31.8h 34427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun2 v2.8h, v4.4s 34527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun2 v6.4s, v8.2d 34627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun v1.8b, v9.8h 34727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun v13.4h, v21.4s 34827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtun v4.2s, v0.2d 34927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 35027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun2 v0.16b, v31.8h // encoding: [0xe0,0x2b,0x21,0x6e] 35127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun2 v2.8h, v4.4s // encoding: [0x82,0x28,0x61,0x6e] 35227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun2 v6.4s, v8.2d // encoding: [0x06,0x29,0xa1,0x6e] 35327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun v1.8b, v9.8h // encoding: [0x21,0x29,0x21,0x2e] 35427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun v13.4h, v21.4s // encoding: [0xad,0x2a,0x61,0x2e] 35527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtun v4.2s, v0.2d // encoding: [0x04,0x28,0xa1,0x2e] 35627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 35727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 35827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Signed integer saturating extract and narrow 35927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 36027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 36127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn2 v0.16b, v31.8h 36227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn2 v2.8h, v4.4s 36327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn2 v6.4s, v8.2d 36427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn v1.8b, v9.8h 36527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn v13.4h, v21.4s 36627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin sqxtn v4.2s, v0.2d 36727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 36827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn2 v0.16b, v31.8h // encoding: [0xe0,0x4b,0x21,0x4e] 36927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn2 v2.8h, v4.4s // encoding: [0x82,0x48,0x61,0x4e] 37027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn2 v6.4s, v8.2d // encoding: [0x06,0x49,0xa1,0x4e] 37127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn v1.8b, v9.8h // encoding: [0x21,0x49,0x21,0x0e] 37227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn v13.4h, v21.4s // encoding: [0xad,0x4a,0x61,0x0e] 37327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: sqxtn v4.2s, v0.2d // encoding: [0x04,0x48,0xa1,0x0e] 37427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 37527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 37627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Unsigned integer saturating extract and narrow 37727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 37827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 37927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn2 v0.16b, v31.8h 38027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn2 v2.8h, v4.4s 38127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn2 v6.4s, v8.2d 38227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn v1.8b, v9.8h 38327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn v13.4h, v21.4s 38427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin uqxtn v4.2s, v0.2d 38527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 38627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn2 v0.16b, v31.8h // encoding: [0xe0,0x4b,0x21,0x6e] 38727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn2 v2.8h, v4.4s // encoding: [0x82,0x48,0x61,0x6e] 38827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn2 v6.4s, v8.2d // encoding: [0x06,0x49,0xa1,0x6e] 38927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn v1.8b, v9.8h // encoding: [0x21,0x49,0x21,0x2e] 39027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn v13.4h, v21.4s // encoding: [0xad,0x4a,0x61,0x2e] 39127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: uqxtn v4.2s, v0.2d // encoding: [0x04,0x48,0xa1,0x2e] 39227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 39327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 39427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Integer shift left long 39527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 39627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 39727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll2 v2.8h, v4.16b, #8 39827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll2 v6.4s, v8.8h, #16 39927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll2 v6.2d, v8.4s, #32 40027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll v2.8h, v4.8b, #8 40127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll v6.4s, v8.4h, #16 40227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin shll v6.2d, v8.2s, #32 40327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 40427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll2 v2.8h, v4.16b, #8 // encoding: [0x82,0x38,0x21,0x6e] 40527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll2 v6.4s, v8.8h, #16 // encoding: [0x06,0x39,0x61,0x6e] 40627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll2 v6.2d, v8.4s, #32 // encoding: [0x06,0x39,0xa1,0x6e] 40727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll v2.8h, v4.8b, #8 // encoding: [0x82,0x38,0x21,0x2e] 40827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll v6.4s, v8.4h, #16 // encoding: [0x06,0x39,0x61,0x2e] 40927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: shll v6.2d, v8.2s, #32 // encoding: [0x06,0x39,0xa1,0x2e] 41027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 41127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 41227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point convert downsize 41327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 41427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 41527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtn2 v2.8h, v4.4s 41627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtn2 v6.4s, v8.2d 41727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtn v13.4h, v21.4s 41827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtn v4.2s, v0.2d 41927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 42027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtn2 v2.8h, v4.4s // encoding: [0x82,0x68,0x21,0x4e] 42127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtn2 v6.4s, v8.2d // encoding: [0x06,0x69,0x61,0x4e] 42227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtn v13.4h, v21.4s // encoding: [0xad,0x6a,0x21,0x0e] 42327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtn v4.2s, v0.2d // encoding: [0x04,0x68,0x61,0x0e] 42427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 42527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 42627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point convert downsize with inexact 42727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 42827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 42927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtxn2 v6.4s, v8.2d 43027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtxn v4.2s, v0.2d 43127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 43227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtxn2 v6.4s, v8.2d // encoding: [0x06,0x69,0x61,0x6e] 43327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtxn v4.2s, v0.2d // encoding: [0x04,0x68,0x61,0x2e] 43427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 43527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 43627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point convert upsize 43727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 43827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 43927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtl v9.4s, v1.4h 44027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtl v0.2d, v1.2s 44127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtl2 v12.4s, v4.8h 44227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtl2 v17.2d, v28.4s 44327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 44427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtl v9.4s, v1.4h // encoding: [0x29,0x78,0x21,0x0e] 44527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtl v0.2d, v1.2s // encoding: [0x20,0x78,0x61,0x0e] 44627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtl2 v12.4s, v4.8h // encoding: [0x8c,0x78,0x21,0x4e] 44727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtl2 v17.2d, v28.4s // encoding: [0x91,0x7b,0x61,0x4e] 44827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 44927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 45027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point round to integral 45127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 45227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 45327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintn v6.4s, v8.4s 45427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintn v6.2d, v8.2d 45527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintn v4.2s, v0.2s 45627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 45727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintn v6.4s, v8.4s // encoding: [0x06,0x89,0x21,0x4e] 45827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintn v6.2d, v8.2d // encoding: [0x06,0x89,0x61,0x4e] 45927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintn v4.2s, v0.2s // encoding: [0x04,0x88,0x21,0x0e] 46027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 46127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinta v6.4s, v8.4s 46227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinta v6.2d, v8.2d 46327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinta v4.2s, v0.2s 46427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 46527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinta v6.4s, v8.4s // encoding: [0x06,0x89,0x21,0x6e] 46627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinta v6.2d, v8.2d // encoding: [0x06,0x89,0x61,0x6e] 46727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinta v4.2s, v0.2s // encoding: [0x04,0x88,0x21,0x2e] 46827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 46927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintp v6.4s, v8.4s 47027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintp v6.2d, v8.2d 47127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintp v4.2s, v0.2s 47227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 47327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintp v6.4s, v8.4s // encoding: [0x06,0x89,0xa1,0x4e] 47427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintp v6.2d, v8.2d // encoding: [0x06,0x89,0xe1,0x4e] 47527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintp v4.2s, v0.2s // encoding: [0x04,0x88,0xa1,0x0e] 47627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 47727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintm v6.4s, v8.4s 47827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintm v6.2d, v8.2d 47927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintm v4.2s, v0.2s 48027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 48127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintm v6.4s, v8.4s // encoding: [0x06,0x99,0x21,0x4e] 48227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintm v6.2d, v8.2d // encoding: [0x06,0x99,0x61,0x4e] 48327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintm v4.2s, v0.2s // encoding: [0x04,0x98,0x21,0x0e] 48427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 48527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintx v6.4s, v8.4s 48627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintx v6.2d, v8.2d 48727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintx v4.2s, v0.2s 48827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 48927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintx v6.4s, v8.4s // encoding: [0x06,0x99,0x21,0x6e] 49027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintx v6.2d, v8.2d // encoding: [0x06,0x99,0x61,0x6e] 49127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintx v4.2s, v0.2s // encoding: [0x04,0x98,0x21,0x2e] 49227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 49327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintz v6.4s, v8.4s 49427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintz v6.2d, v8.2d 49527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frintz v4.2s, v0.2s 49627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 49727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintz v6.4s, v8.4s // encoding: [0x06,0x99,0xa1,0x4e] 49827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintz v6.2d, v8.2d // encoding: [0x06,0x99,0xe1,0x4e] 49927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frintz v4.2s, v0.2s // encoding: [0x04,0x98,0xa1,0x0e] 50027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 50127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinti v6.4s, v8.4s 50227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinti v6.2d, v8.2d 50327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frinti v4.2s, v0.2s 50427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 50527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinti v6.4s, v8.4s // encoding: [0x06,0x99,0xa1,0x6e] 50627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinti v6.2d, v8.2d // encoding: [0x06,0x99,0xe1,0x6e] 50727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frinti v4.2s, v0.2s // encoding: [0x04,0x98,0xa1,0x2e] 50827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 50927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 51027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// Floating-point convert to integer 51127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin//------------------------------------------------------------------------------ 51227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 51327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtns v6.4s, v8.4s 51427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtns v6.2d, v8.2d 51527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtns v4.2s, v0.2s 51627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 51727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtns v6.4s, v8.4s // encoding: [0x06,0xa9,0x21,0x4e] 51827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtns v6.2d, v8.2d // encoding: [0x06,0xa9,0x61,0x4e] 51927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtns v4.2s, v0.2s // encoding: [0x04,0xa8,0x21,0x0e] 52027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 52127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtnu v6.4s, v8.4s 52227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtnu v6.2d, v8.2d 52327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtnu v4.2s, v0.2s 52427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 52527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtnu v6.4s, v8.4s // encoding: [0x06,0xa9,0x21,0x6e] 52627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtnu v6.2d, v8.2d // encoding: [0x06,0xa9,0x61,0x6e] 52727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtnu v4.2s, v0.2s // encoding: [0x04,0xa8,0x21,0x2e] 52827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 52927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtps v6.4s, v8.4s 53027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtps v6.2d, v8.2d 53127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtps v4.2s, v0.2s 53227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 53327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtps v6.4s, v8.4s // encoding: [0x06,0xa9,0xa1,0x4e] 53427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtps v6.2d, v8.2d // encoding: [0x06,0xa9,0xe1,0x4e] 53527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtps v4.2s, v0.2s // encoding: [0x04,0xa8,0xa1,0x0e] 53627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 53727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtpu v6.4s, v8.4s 53827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtpu v6.2d, v8.2d 53927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtpu v4.2s, v0.2s 54027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 54127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtpu v6.4s, v8.4s // encoding: [0x06,0xa9,0xa1,0x6e] 54227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtpu v6.2d, v8.2d // encoding: [0x06,0xa9,0xe1,0x6e] 54327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtpu v4.2s, v0.2s // encoding: [0x04,0xa8,0xa1,0x2e] 54427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 54527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtms v6.4s, v8.4s 54627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtms v6.2d, v8.2d 54727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtms v4.2s, v0.2s 54827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 54927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtms v6.4s, v8.4s // encoding: [0x06,0xb9,0x21,0x4e] 55027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtms v6.2d, v8.2d // encoding: [0x06,0xb9,0x61,0x4e] 55127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtms v4.2s, v0.2s // encoding: [0x04,0xb8,0x21,0x0e] 55227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 55327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtmu v6.4s, v8.4s 55427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtmu v6.2d, v8.2d 55527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtmu v4.2s, v0.2s 55627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 55727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtmu v6.4s, v8.4s // encoding: [0x06,0xb9,0x21,0x6e] 55827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtmu v6.2d, v8.2d // encoding: [0x06,0xb9,0x61,0x6e] 55927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtmu v4.2s, v0.2s // encoding: [0x04,0xb8,0x21,0x2e] 56027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 56127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzs v6.4s, v8.4s 56227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzs v6.2d, v8.2d 56327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzs v4.2s, v0.2s 56427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 56527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzs v6.4s, v8.4s // encoding: [0x06,0xb9,0xa1,0x4e] 56627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzs v6.2d, v8.2d // encoding: [0x06,0xb9,0xe1,0x4e] 56727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzs v4.2s, v0.2s // encoding: [0x04,0xb8,0xa1,0x0e] 56827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 56927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 57027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzu v6.4s, v8.4s 57127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzu v6.2d, v8.2d 57227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtzu v4.2s, v0.2s 57327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 57427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzu v6.4s, v8.4s // encoding: [0x06,0xb9,0xa1,0x6e] 57527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzu v6.2d, v8.2d // encoding: [0x06,0xb9,0xe1,0x6e] 57627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtzu v4.2s, v0.2s // encoding: [0x04,0xb8,0xa1,0x2e] 57727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 57827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtas v6.4s, v8.4s 57927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtas v6.2d, v8.2d 58027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtas v4.2s, v0.2s 58127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 58227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtas v6.4s, v8.4s // encoding: [0x06,0xc9,0x21,0x4e] 58327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtas v6.2d, v8.2d // encoding: [0x06,0xc9,0x61,0x4e] 58427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtas v4.2s, v0.2s // encoding: [0x04,0xc8,0x21,0x0e] 58527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 58627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtau v6.4s, v8.4s 58727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtau v6.2d, v8.2d 58827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fcvtau v4.2s, v0.2s 58927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 59027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtau v6.4s, v8.4s // encoding: [0x06,0xc9,0x21,0x6e] 59127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtau v6.2d, v8.2d // encoding: [0x06,0xc9,0x61,0x6e] 59227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fcvtau v4.2s, v0.2s // encoding: [0x04,0xc8,0x21,0x2e] 59327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 59427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin urecpe v6.4s, v8.4s 59527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin urecpe v4.2s, v0.2s 59627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 59727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: urecpe v6.4s, v8.4s // encoding: [0x06,0xc9,0xa1,0x4e] 59827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: urecpe v4.2s, v0.2s // encoding: [0x04,0xc8,0xa1,0x0e] 59927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 60027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin ursqrte v6.4s, v8.4s 60127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin ursqrte v4.2s, v0.2s 60227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 60327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: ursqrte v6.4s, v8.4s // encoding: [0x06,0xc9,0xa1,0x6e] 60427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: ursqrte v4.2s, v0.2s // encoding: [0x04,0xc8,0xa1,0x2e] 60527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 60627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin scvtf v6.4s, v8.4s 60727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin scvtf v6.2d, v8.2d 60827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin scvtf v4.2s, v0.2s 60927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 61027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: scvtf v6.4s, v8.4s // encoding: [0x06,0xd9,0x21,0x4e] 61127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: scvtf v6.2d, v8.2d // encoding: [0x06,0xd9,0x61,0x4e] 61227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: scvtf v4.2s, v0.2s // encoding: [0x04,0xd8,0x21,0x0e] 61327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 61427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin ucvtf v6.4s, v8.4s 61527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin ucvtf v6.2d, v8.2d 61627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin ucvtf v4.2s, v0.2s 61727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 61827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: ucvtf v6.4s, v8.4s // encoding: [0x06,0xd9,0x21,0x6e] 61927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: ucvtf v6.2d, v8.2d // encoding: [0x06,0xd9,0x61,0x6e] 62027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: ucvtf v4.2s, v0.2s // encoding: [0x04,0xd8,0x21,0x2e] 62127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 62227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frecpe v6.4s, v8.4s 62327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frecpe v6.2d, v8.2d 62427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frecpe v4.2s, v0.2s 62527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 62627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frecpe v6.4s, v8.4s // encoding: [0x06,0xd9,0xa1,0x4e] 62727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frecpe v6.2d, v8.2d // encoding: [0x06,0xd9,0xe1,0x4e] 62827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frecpe v4.2s, v0.2s // encoding: [0x04,0xd8,0xa1,0x0e] 62927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 63027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frsqrte v6.4s, v8.4s 63127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frsqrte v6.2d, v8.2d 63227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin frsqrte v4.2s, v0.2s 63327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 63427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frsqrte v6.4s, v8.4s // encoding: [0x06,0xd9,0xa1,0x6e] 63527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frsqrte v6.2d, v8.2d // encoding: [0x06,0xd9,0xe1,0x6e] 63627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: frsqrte v4.2s, v0.2s // encoding: [0x04,0xd8,0xa1,0x2e] 63727df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 63827df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fsqrt v6.4s, v8.4s 63927df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fsqrt v6.2d, v8.2d 64027df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin fsqrt v4.2s, v0.2s 64127df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 64227df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fsqrt v6.4s, v8.4s // encoding: [0x06,0xf9,0xa1,0x6e] 64327df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fsqrt v6.2d, v8.2d // encoding: [0x06,0xf9,0xe1,0x6e] 64427df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin// CHECK: fsqrt v4.2s, v0.2s // encoding: [0x04,0xf8,0xa1,0x2e] 64527df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 64627df434c5e8c78e8b3e6e9596b55a6a6bd8d5116Kevin Qin 647