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//----------------------------------------------------------------------------- 4*9880d681SAndroid Build Coastguard Worker// Signed saturating doubling multiply-add long (scalar, by element) 5*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------- 6*9880d681SAndroid Build Coastguard Worker sqdmlal s0, h0, v0.h[0] 7*9880d681SAndroid Build Coastguard Worker sqdmlal s7, h1, v4.h[3] 8*9880d681SAndroid Build Coastguard Worker sqdmlal s11, h16, v8.h[4] 9*9880d681SAndroid Build Coastguard Worker sqdmlal s30, h30, v15.h[7] 10*9880d681SAndroid Build Coastguard Worker sqdmlal d0, s0, v3.s[0] 11*9880d681SAndroid Build Coastguard Worker sqdmlal d30, s30, v30.s[3] 12*9880d681SAndroid Build Coastguard Worker sqdmlal d8, s9, v14.s[1] 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal s0, h0, v0.h[0] // encoding: [0x00,0x30,0x40,0x5f] 15*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal s7, h1, v4.h[3] // encoding: [0x27,0x30,0x74,0x5f] 16*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal s11, h16, v8.h[4] // encoding: [0x0b,0x3a,0x48,0x5f] 17*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal s30, h30, v15.h[7] // encoding: [0xde,0x3b,0x7f,0x5f] 18*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal d0, s0, v3.s[0] // encoding: [0x00,0x30,0x83,0x5f] 19*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal d30, s30, v30.s[3] // encoding: [0xde,0x3b,0xbe,0x5f] 20*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal d8, s9, v14.s[1] // encoding: [0x28,0x31,0xae,0x5f] 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------- 23*9880d681SAndroid Build Coastguard Worker// Signed saturating doubling multiply-subtract long (scalar, by element) 24*9880d681SAndroid Build Coastguard Worker//----------------------------------------------------------------------------- 25*9880d681SAndroid Build Coastguard Worker sqdmlsl s1, h1, v1.h[0] 26*9880d681SAndroid Build Coastguard Worker sqdmlsl s8, h2, v5.h[1] 27*9880d681SAndroid Build Coastguard Worker sqdmlsl s12, h13, v14.h[2] 28*9880d681SAndroid Build Coastguard Worker sqdmlsl s29, h28, v11.h[7] 29*9880d681SAndroid Build Coastguard Worker sqdmlsl d1, s1, v13.s[0] 30*9880d681SAndroid Build Coastguard Worker sqdmlsl d31, s31, v31.s[2] 31*9880d681SAndroid Build Coastguard Worker sqdmlsl d16, s18, v28.s[3] 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl s1, h1, v1.h[0] // encoding: [0x21,0x70,0x41,0x5f] 34*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl s8, h2, v5.h[1] // encoding: [0x48,0x70,0x55,0x5f] 35*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl s12, h13, v14.h[2] // encoding: [0xac,0x71,0x6e,0x5f] 36*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl s29, h28, v11.h[7] // encoding: [0x9d,0x7b,0x7b,0x5f] 37*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl d1, s1, v13.s[0] // encoding: [0x21,0x70,0x8d,0x5f] 38*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl d31, s31, v31.s[2] // encoding: [0xff,0x7b,0x9f,0x5f] 39*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl d16, s18, v28.s[3] // encoding: [0x50,0x7a,0xbc,0x5f] 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Worker 47