1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 6*9880d681SAndroid Build Coastguard Worker// Integer shift left long (Signed) 7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 8*9880d681SAndroid Build Coastguard Worker sshll v0.8h, v1.8b, #3 9*9880d681SAndroid Build Coastguard Worker sshll v0.4s, v1.4h, #3 10*9880d681SAndroid Build Coastguard Worker sshll v0.2d, v1.2s, #3 11*9880d681SAndroid Build Coastguard Worker sshll2 v0.8h, v1.16b, #3 12*9880d681SAndroid Build Coastguard Worker sshll2 v0.4s, v1.8h, #3 13*9880d681SAndroid Build Coastguard Worker sshll2 v0.2d, v1.4s, #3 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker// CHECK: sshll v0.8h, v1.8b, #3 // encoding: [0x20,0xa4,0x0b,0x0f] 16*9880d681SAndroid Build Coastguard Worker// CHECK: sshll v0.4s, v1.4h, #3 // encoding: [0x20,0xa4,0x13,0x0f] 17*9880d681SAndroid Build Coastguard Worker// CHECK: sshll v0.2d, v1.2s, #3 // encoding: [0x20,0xa4,0x23,0x0f] 18*9880d681SAndroid Build Coastguard Worker// CHECK: sshll2 v0.8h, v1.16b, #3 // encoding: [0x20,0xa4,0x0b,0x4f] 19*9880d681SAndroid Build Coastguard Worker// CHECK: sshll2 v0.4s, v1.8h, #3 // encoding: [0x20,0xa4,0x13,0x4f] 20*9880d681SAndroid Build Coastguard Worker// CHECK: sshll2 v0.2d, v1.4s, #3 // encoding: [0x20,0xa4,0x23,0x4f] 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 23*9880d681SAndroid Build Coastguard Worker// Integer shift left long (Unsigned) 24*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 25*9880d681SAndroid Build Coastguard Worker ushll v0.8h, v1.8b, #3 26*9880d681SAndroid Build Coastguard Worker ushll v0.4s, v1.4h, #3 27*9880d681SAndroid Build Coastguard Worker ushll v0.2d, v1.2s, #3 28*9880d681SAndroid Build Coastguard Worker ushll2 v0.8h, v1.16b, #3 29*9880d681SAndroid Build Coastguard Worker ushll2 v0.4s, v1.8h, #3 30*9880d681SAndroid Build Coastguard Worker ushll2 v0.2d, v1.4s, #3 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker// CHECK: ushll v0.8h, v1.8b, #3 // encoding: [0x20,0xa4,0x0b,0x2f] 33*9880d681SAndroid Build Coastguard Worker// CHECK: ushll v0.4s, v1.4h, #3 // encoding: [0x20,0xa4,0x13,0x2f] 34*9880d681SAndroid Build Coastguard Worker// CHECK: ushll v0.2d, v1.2s, #3 // encoding: [0x20,0xa4,0x23,0x2f] 35*9880d681SAndroid Build Coastguard Worker// CHECK: ushll2 v0.8h, v1.16b, #3 // encoding: [0x20,0xa4,0x0b,0x6f] 36*9880d681SAndroid Build Coastguard Worker// CHECK: ushll2 v0.4s, v1.8h, #3 // encoding: [0x20,0xa4,0x13,0x6f] 37*9880d681SAndroid Build Coastguard Worker// CHECK: ushll2 v0.2d, v1.4s, #3 // encoding: [0x20,0xa4,0x23,0x6f] 38