1dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// RUN: llvm-mc -triple=aarch64-none-linux-gnu -mattr=+crypto -mattr=+neon -show-encoding < %s | FileCheck %s 2959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 3959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Check that the assembler can handle the documented syntax for AArch64 4959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 5959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 6959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Instructions with 3 different vector data types 7959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 8959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 9959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 10959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Long 11959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 12959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 13959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 14959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Long - Variant 1 15959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 16959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 17959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl v0.8h, v1.8b, v2.8b 18959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl v0.4s, v1.4h, v2.4h 19959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl v0.2d, v1.2s, v2.2s 20959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 21959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x00,0x22,0x0e] 22959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x00,0x62,0x0e] 23959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x00,0xa2,0x0e] 24959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 25959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl2 v0.4s, v1.8h, v2.8h 26959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl2 v0.8h, v1.16b, v2.16b 27959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddl2 v0.2d, v1.4s, v2.4s 28959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 29959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x00,0x62,0x4e] 30959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x00,0x22,0x4e] 31959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x00,0xa2,0x4e] 32959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 33959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl v0.8h, v1.8b, v2.8b 34959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl v0.4s, v1.4h, v2.4h 35959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl v0.2d, v1.2s, v2.2s 36959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 37959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x00,0x22,0x2e] 38959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x00,0x62,0x2e] 39959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x00,0xa2,0x2e] 40959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 41959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl2 v0.8h, v1.16b, v2.16b 42959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl2 v0.4s, v1.8h, v2.8h 43959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddl2 v0.2d, v1.4s, v2.4s 44959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 45959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x00,0x22,0x6e] 46959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x00,0x62,0x6e] 47959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x00,0xa2,0x6e] 48959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 49959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl v0.8h, v1.8b, v2.8b 50959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl v0.4s, v1.4h, v2.4h 51959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl v0.2d, v1.2s, v2.2s 52959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 53959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x20,0x22,0x0e] 54959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x20,0x62,0x0e] 55959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x20,0xa2,0x0e] 56959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 57959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl2 v0.8h, v1.16b, v2.16b 58959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl2 v0.4s, v1.8h, v2.8h 59959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubl2 v0.2d, v1.4s, v2.4s 60959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 61959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x20,0x22,0x4e] 62959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x20,0x62,0x4e] 63959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x20,0xa2,0x4e] 64959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 65959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl v0.8h, v1.8b, v2.8b 66959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl v0.4s, v1.4h, v2.4h 67959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl v0.2d, v1.2s, v2.2s 68959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 69959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x20,0x22,0x2e] 70959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x20,0x62,0x2e] 71959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x20,0xa2,0x2e] 72959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 73959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl2 v0.8h, v1.16b, v2.16b 74959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl2 v0.4s, v1.8h, v2.8h 75959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubl2 v0.2d, v1.4s, v2.4s 76959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 77959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x20,0x22,0x6e] 78959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x20,0x62,0x6e] 79959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x20,0xa2,0x6e] 80959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 81959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal v0.8h, v1.8b, v2.8b 82959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal v0.4s, v1.4h, v2.4h 83959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal v0.2d, v1.2s, v2.2s 84959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 85959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal v0.8h, v1.8b, v2.8b // encoding: [0x20,0x50,0x22,0x0e] 86959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal v0.4s, v1.4h, v2.4h // encoding: [0x20,0x50,0x62,0x0e] 87959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal v0.2d, v1.2s, v2.2s // encoding: [0x20,0x50,0xa2,0x0e] 88959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 89959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal2 v0.8h, v1.16b, v2.16b 90959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal2 v0.4s, v1.8h, v2.8h 91959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabal2 v0.2d, v1.4s, v2.4s 92959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 93959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x50,0x22,0x4e] 94959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x50,0x62,0x4e] 95959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabal2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x50,0xa2,0x4e] 96959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 97959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal v0.8h, v1.8b, v2.8b 98959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal v0.4s, v1.4h, v2.4h 99959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal v0.2d, v1.2s, v2.2s 100959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 101959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal v0.8h, v1.8b, v2.8b // encoding: [0x20,0x50,0x22,0x2e] 102959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal v0.4s, v1.4h, v2.4h // encoding: [0x20,0x50,0x62,0x2e] 103959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal v0.2d, v1.2s, v2.2s // encoding: [0x20,0x50,0xa2,0x2e] 104959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 105959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal2 v0.8h, v1.16b, v2.16b 106959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal2 v0.4s, v1.8h, v2.8h 107959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabal2 v0.2d, v1.4s, v2.4s 108959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 109959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x50,0x22,0x6e] 110959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x50,0x62,0x6e] 111959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabal2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x50,0xa2,0x6e] 112959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 113959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl v0.8h, v1.8b, v2.8b 114959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl v0.4s, v1.4h, v2.4h 115959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl v0.2d, v1.2s, v2.2s 116959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 117959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x70,0x22,0x0e] 118959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x70,0x62,0x0e] 119959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x70,0xa2,0x0e] 120959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 121959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl2 v0.8h, v1.16b, v2.16b 122959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl2 v0.4s, v1.8h, v2.8h 123959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sabdl2 v0.2d, v1.4s, v2.4s 124959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 125959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x70,0x22,0x4e] 126959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x70,0x62,0x4e] 127959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sabdl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x70,0xa2,0x4e] 128959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 129959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl v0.8h, v1.8b, v2.8b 130959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl v0.4s, v1.4h, v2.4h 131959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl v0.2d, v1.2s, v2.2s 132959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 133959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl v0.8h, v1.8b, v2.8b // encoding: [0x20,0x70,0x22,0x2e] 134959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl v0.4s, v1.4h, v2.4h // encoding: [0x20,0x70,0x62,0x2e] 135959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl v0.2d, v1.2s, v2.2s // encoding: [0x20,0x70,0xa2,0x2e] 136959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 137959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl2 v0.8h, v1.16b, v2.16b 138959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl2 v0.4s, v1.8h, v2.8h 139959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uabdl2 v0.2d, v1.4s, v2.4s 140959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 141959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x70,0x22,0x6e] 142959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x70,0x62,0x6e] 143959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uabdl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x70,0xa2,0x6e] 144959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 145959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal v0.8h, v1.8b, v2.8b 146959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal v0.4s, v1.4h, v2.4h 147959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal v0.2d, v1.2s, v2.2s 148959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 149959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal v0.8h, v1.8b, v2.8b // encoding: [0x20,0x80,0x22,0x0e] 150959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal v0.4s, v1.4h, v2.4h // encoding: [0x20,0x80,0x62,0x0e] 151959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal v0.2d, v1.2s, v2.2s // encoding: [0x20,0x80,0xa2,0x0e] 152959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 153959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal2 v0.8h, v1.16b, v2.16b 154959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal2 v0.4s, v1.8h, v2.8h 155959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlal2 v0.2d, v1.4s, v2.4s 156959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 157959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x80,0x22,0x4e] 158959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x80,0x62,0x4e] 159959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlal2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x80,0xa2,0x4e] 160959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 161959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal v0.8h, v1.8b, v2.8b 162959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal v0.4s, v1.4h, v2.4h 163959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal v0.2d, v1.2s, v2.2s 164959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 165959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal v0.8h, v1.8b, v2.8b // encoding: [0x20,0x80,0x22,0x2e] 166959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal v0.4s, v1.4h, v2.4h // encoding: [0x20,0x80,0x62,0x2e] 167959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal v0.2d, v1.2s, v2.2s // encoding: [0x20,0x80,0xa2,0x2e] 168959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 169959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal2 v0.8h, v1.16b, v2.16b 170959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal2 v0.4s, v1.8h, v2.8h 171959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlal2 v0.2d, v1.4s, v2.4s 172959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 173959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0x80,0x22,0x6e] 174959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x80,0x62,0x6e] 175959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlal2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x80,0xa2,0x6e] 176959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 177959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl v0.8h, v1.8b, v2.8b 178959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl v0.4s, v1.4h, v2.4h 179959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl v0.2d, v1.2s, v2.2s 180959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 181959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl v0.8h, v1.8b, v2.8b // encoding: [0x20,0xa0,0x22,0x0e] 182959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl v0.4s, v1.4h, v2.4h // encoding: [0x20,0xa0,0x62,0x0e] 183959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl v0.2d, v1.2s, v2.2s // encoding: [0x20,0xa0,0xa2,0x0e] 184959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 185959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl2 v0.8h, v1.16b, v2.16b 186959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl2 v0.4s, v1.8h, v2.8h 187959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smlsl2 v0.2d, v1.4s, v2.4s 188959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 189959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0xa0,0x22,0x4e] 190959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xa0,0x62,0x4e] 191959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smlsl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xa0,0xa2,0x4e] 192959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 193959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl v0.8h, v1.8b, v2.8b 194959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl v0.4s, v1.4h, v2.4h 195959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl v0.2d, v1.2s, v2.2s 196959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 197959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl v0.8h, v1.8b, v2.8b // encoding: [0x20,0xa0,0x22,0x2e] 198959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl v0.4s, v1.4h, v2.4h // encoding: [0x20,0xa0,0x62,0x2e] 199959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl v0.2d, v1.2s, v2.2s // encoding: [0x20,0xa0,0xa2,0x2e] 200959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 201959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl2 v0.8h, v1.16b, v2.16b 202959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl2 v0.4s, v1.8h, v2.8h 203959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umlsl2 v0.2d, v1.4s, v2.4s 204959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 205959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0xa0,0x22,0x6e] 206959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xa0,0x62,0x6e] 207959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umlsl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xa0,0xa2,0x6e] 208959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 209959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull v0.8h, v1.8b, v2.8b 210959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull v0.4s, v1.4h, v2.4h 211959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull v0.2d, v1.2s, v2.2s 212959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 213959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull v0.8h, v1.8b, v2.8b // encoding: [0x20,0xc0,0x22,0x0e] 214959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull v0.4s, v1.4h, v2.4h // encoding: [0x20,0xc0,0x62,0x0e] 215959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull v0.2d, v1.2s, v2.2s // encoding: [0x20,0xc0,0xa2,0x0e] 216959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 217959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull2 v0.8h, v1.16b, v2.16b 218959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull2 v0.4s, v1.8h, v2.8h 219959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu smull2 v0.2d, v1.4s, v2.4s 220959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 221959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0xc0,0x22,0x4e] 222959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xc0,0x62,0x4e] 223959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: smull2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xc0,0xa2,0x4e] 224959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 225959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull v0.8h, v1.8b, v2.8b 226959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull v0.4s, v1.4h, v2.4h 227959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull v0.2d, v1.2s, v2.2s 228959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 229959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull v0.8h, v1.8b, v2.8b // encoding: [0x20,0xc0,0x22,0x2e] 230959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull v0.4s, v1.4h, v2.4h // encoding: [0x20,0xc0,0x62,0x2e] 231959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull v0.2d, v1.2s, v2.2s // encoding: [0x20,0xc0,0xa2,0x2e] 232959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 233959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull2 v0.8h, v1.16b, v2.16b 234959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull2 v0.4s, v1.8h, v2.8h 235959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu umull2 v0.2d, v1.4s, v2.4s 236959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 237959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0xc0,0x22,0x6e] 238959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xc0,0x62,0x6e] 239959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: umull2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xc0,0xa2,0x6e] 240959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 241959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 242959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Long - Variant 2 243959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 244959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 245959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlal v0.4s, v1.4h, v2.4h 246959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlal v0.2d, v1.2s, v2.2s 247959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 248959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlal v0.4s, v1.4h, v2.4h // encoding: [0x20,0x90,0x62,0x0e] 249959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlal v0.2d, v1.2s, v2.2s // encoding: [0x20,0x90,0xa2,0x0e] 250959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 251959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlal2 v0.4s, v1.8h, v2.8h 252959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlal2 v0.2d, v1.4s, v2.4s 253959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 254959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlal2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0x90,0x62,0x4e] 255959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlal2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0x90,0xa2,0x4e] 256959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 257959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlsl v0.4s, v1.4h, v2.4h 258959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlsl v0.2d, v1.2s, v2.2s 259959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 260959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlsl v0.4s, v1.4h, v2.4h // encoding: [0x20,0xb0,0x62,0x0e] 261959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlsl v0.2d, v1.2s, v2.2s // encoding: [0x20,0xb0,0xa2,0x0e] 262959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 263959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlsl2 v0.4s, v1.8h, v2.8h 264959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmlsl2 v0.2d, v1.4s, v2.4s 265959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 266959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlsl2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xb0,0x62,0x4e] 267959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmlsl2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xb0,0xa2,0x4e] 268959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 269959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmull v0.4s, v1.4h, v2.4h 270959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmull v0.2d, v1.2s, v2.2s 271959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 272959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmull v0.4s, v1.4h, v2.4h // encoding: [0x20,0xd0,0x62,0x0e] 273959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmull v0.2d, v1.2s, v2.2s // encoding: [0x20,0xd0,0xa2,0x0e] 274959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 275959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmull2 v0.4s, v1.8h, v2.8h 276959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu sqdmull2 v0.2d, v1.4s, v2.4s 277959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 278959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmull2 v0.4s, v1.8h, v2.8h // encoding: [0x20,0xd0,0x62,0x4e] 279959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: sqdmull2 v0.2d, v1.4s, v2.4s // encoding: [0x20,0xd0,0xa2,0x4e] 280959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 281959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 282959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Long - Variant 3 283959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 284959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 285959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu pmull v0.8h, v1.8b, v2.8b 286282a979dddff8d06a744c1b686fb3b7a7619d0f4Kevin Qin pmull v0.1q, v1.1d, v2.1d 287959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 288959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: pmull v0.8h, v1.8b, v2.8b // encoding: [0x20,0xe0,0x22,0x0e] 289282a979dddff8d06a744c1b686fb3b7a7619d0f4Kevin Qin// CHECK: pmull v0.1q, v1.1d, v2.1d // encoding: [0x20,0xe0,0xe2,0x0e] 290959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 291959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu pmull2 v0.8h, v1.16b, v2.16b 292282a979dddff8d06a744c1b686fb3b7a7619d0f4Kevin Qin pmull2 v0.1q, v1.2d, v2.2d 293959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 294959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: pmull2 v0.8h, v1.16b, v2.16b // encoding: [0x20,0xe0,0x22,0x4e] 295282a979dddff8d06a744c1b686fb3b7a7619d0f4Kevin Qin// CHECK: pmull2 v0.1q, v1.2d, v2.2d // encoding: [0x20,0xe0,0xe2,0x4e] 296959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 297959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 298959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Widen 299959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 300959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 301959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw v0.8h, v1.8h, v2.8b 302959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw v0.4s, v1.4s, v2.4h 303959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw v0.2d, v1.2d, v2.2s 304959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 305959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw v0.8h, v1.8h, v2.8b // encoding: [0x20,0x10,0x22,0x0e] 306959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw v0.4s, v1.4s, v2.4h // encoding: [0x20,0x10,0x62,0x0e] 307959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw v0.2d, v1.2d, v2.2s // encoding: [0x20,0x10,0xa2,0x0e] 308959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 309959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw2 v0.8h, v1.8h, v2.16b 310959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw2 v0.4s, v1.4s, v2.8h 311959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu saddw2 v0.2d, v1.2d, v2.4s 312959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 313959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw2 v0.8h, v1.8h, v2.16b // encoding: [0x20,0x10,0x22,0x4e] 314959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw2 v0.4s, v1.4s, v2.8h // encoding: [0x20,0x10,0x62,0x4e] 315959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: saddw2 v0.2d, v1.2d, v2.4s // encoding: [0x20,0x10,0xa2,0x4e] 316959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 317959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw v0.8h, v1.8h, v2.8b 318959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw v0.4s, v1.4s, v2.4h 319959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw v0.2d, v1.2d, v2.2s 320959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 321959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw v0.8h, v1.8h, v2.8b // encoding: [0x20,0x10,0x22,0x2e] 322959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw v0.4s, v1.4s, v2.4h // encoding: [0x20,0x10,0x62,0x2e] 323959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw v0.2d, v1.2d, v2.2s // encoding: [0x20,0x10,0xa2,0x2e] 324959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 325959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw2 v0.8h, v1.8h, v2.16b 326959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw2 v0.4s, v1.4s, v2.8h 327959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu uaddw2 v0.2d, v1.2d, v2.4s 328959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 329959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw2 v0.8h, v1.8h, v2.16b // encoding: [0x20,0x10,0x22,0x6e] 330959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw2 v0.4s, v1.4s, v2.8h // encoding: [0x20,0x10,0x62,0x6e] 331959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: uaddw2 v0.2d, v1.2d, v2.4s // encoding: [0x20,0x10,0xa2,0x6e] 332959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 333959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw v0.8h, v1.8h, v2.8b 334959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw v0.4s, v1.4s, v2.4h 335959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw v0.2d, v1.2d, v2.2s 336959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 337959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw v0.8h, v1.8h, v2.8b // encoding: [0x20,0x30,0x22,0x0e] 338959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw v0.4s, v1.4s, v2.4h // encoding: [0x20,0x30,0x62,0x0e] 339959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw v0.2d, v1.2d, v2.2s // encoding: [0x20,0x30,0xa2,0x0e] 340959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 341959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw2 v0.8h, v1.8h, v2.16b 342959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw2 v0.4s, v1.4s, v2.8h 343959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu ssubw2 v0.2d, v1.2d, v2.4s 344959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 345959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw2 v0.8h, v1.8h, v2.16b // encoding: [0x20,0x30,0x22,0x4e] 346959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw2 v0.4s, v1.4s, v2.8h // encoding: [0x20,0x30,0x62,0x4e] 347959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: ssubw2 v0.2d, v1.2d, v2.4s // encoding: [0x20,0x30,0xa2,0x4e] 348959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 349959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw v0.8h, v1.8h, v2.8b 350959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw v0.4s, v1.4s, v2.4h 351959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw v0.2d, v1.2d, v2.2s 352959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 353959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw v0.8h, v1.8h, v2.8b // encoding: [0x20,0x30,0x22,0x2e] 354959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw v0.4s, v1.4s, v2.4h // encoding: [0x20,0x30,0x62,0x2e] 355959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw v0.2d, v1.2d, v2.2s // encoding: [0x20,0x30,0xa2,0x2e] 356959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 357959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw2 v0.8h, v1.8h, v2.16b 358959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw2 v0.4s, v1.4s, v2.8h 359959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu usubw2 v0.2d, v1.2d, v2.4s 360959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 361959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw2 v0.8h, v1.8h, v2.16b // encoding: [0x20,0x30,0x22,0x6e] 362959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw2 v0.4s, v1.4s, v2.8h // encoding: [0x20,0x30,0x62,0x6e] 363959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: usubw2 v0.2d, v1.2d, v2.4s // encoding: [0x20,0x30,0xa2,0x6e] 364959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 365959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 366959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// Narrow 367959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu//------------------------------------------------------------------------------ 368959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 369959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn v0.8b, v1.8h, v2.8h 370959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn v0.4h, v1.4s, v2.4s 371959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn v0.2s, v1.2d, v2.2d 372959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 373959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn v0.8b, v1.8h, v2.8h // encoding: [0x20,0x40,0x22,0x0e] 374959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn v0.4h, v1.4s, v2.4s // encoding: [0x20,0x40,0x62,0x0e] 375959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn v0.2s, v1.2d, v2.2d // encoding: [0x20,0x40,0xa2,0x0e] 376959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 377959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn2 v0.16b, v1.8h, v2.8h 378959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn2 v0.8h, v1.4s, v2.4s 379959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu addhn2 v0.4s, v1.2d, v2.2d 380959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 381959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn2 v0.16b, v1.8h, v2.8h // encoding: [0x20,0x40,0x22,0x4e] 382959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn2 v0.8h, v1.4s, v2.4s // encoding: [0x20,0x40,0x62,0x4e] 383959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: addhn2 v0.4s, v1.2d, v2.2d // encoding: [0x20,0x40,0xa2,0x4e] 384959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 385959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn v0.8b, v1.8h, v2.8h 386959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn v0.4h, v1.4s, v2.4s 387959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn v0.2s, v1.2d, v2.2d 388959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 389959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn v0.8b, v1.8h, v2.8h // encoding: [0x20,0x40,0x22,0x2e] 390959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn v0.4h, v1.4s, v2.4s // encoding: [0x20,0x40,0x62,0x2e] 391959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn v0.2s, v1.2d, v2.2d // encoding: [0x20,0x40,0xa2,0x2e] 392959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 393959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn2 v0.16b, v1.8h, v2.8h 394959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn2 v0.8h, v1.4s, v2.4s 395959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu raddhn2 v0.4s, v1.2d, v2.2d 396959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 397959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn2 v0.16b, v1.8h, v2.8h // encoding: [0x20,0x40,0x22,0x6e] 398959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn2 v0.8h, v1.4s, v2.4s // encoding: [0x20,0x40,0x62,0x6e] 399959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: raddhn2 v0.4s, v1.2d, v2.2d // encoding: [0x20,0x40,0xa2,0x6e] 400959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 401959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn v0.8b, v1.8h, v2.8h 402959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn v0.4h, v1.4s, v2.4s 403959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn v0.2s, v1.2d, v2.2d 404959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 405959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn v0.8b, v1.8h, v2.8h // encoding: [0x20,0x60,0x22,0x2e] 406959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn v0.4h, v1.4s, v2.4s // encoding: [0x20,0x60,0x62,0x2e] 407959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn v0.2s, v1.2d, v2.2d // encoding: [0x20,0x60,0xa2,0x2e] 408959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 409959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn2 v0.16b, v1.8h, v2.8h 410959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn2 v0.8h, v1.4s, v2.4s 411959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu rsubhn2 v0.4s, v1.2d, v2.2d 412959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu 413959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn2 v0.16b, v1.8h, v2.8h // encoding: [0x20,0x60,0x22,0x6e] 414959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn2 v0.8h, v1.4s, v2.4s // encoding: [0x20,0x60,0x62,0x6e] 415959cd8f49bb85c8dfe971eb5a8a648ff41ca8ebdJiangning Liu// CHECK: rsubhn2 v0.4s, v1.2d, v2.2d // encoding: [0x20,0x60,0xa2,0x6e] 416