1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=arm64 -aarch64-neon-syntax=apple | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine zeroext i8 @f1(<16 x i8> %a) { 4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f1: 5*9880d681SAndroid Build Coastguard Worker; CHECK: mov.b w0, v0[3] 6*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret 7*9880d681SAndroid Build Coastguard Worker %vecext = extractelement <16 x i8> %a, i32 3 8*9880d681SAndroid Build Coastguard Worker ret i8 %vecext 9*9880d681SAndroid Build Coastguard Worker} 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerdefine zeroext i16 @f2(<4 x i16> %a) { 12*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f2: 13*9880d681SAndroid Build Coastguard Worker; CHECK: mov.h w0, v0[2] 14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret 15*9880d681SAndroid Build Coastguard Worker %vecext = extractelement <4 x i16> %a, i32 2 16*9880d681SAndroid Build Coastguard Worker ret i16 %vecext 17*9880d681SAndroid Build Coastguard Worker} 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdefine i32 @f3(<2 x i32> %a) { 20*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f3: 21*9880d681SAndroid Build Coastguard Worker; CHECK: mov.s w0, v0[1] 22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret 23*9880d681SAndroid Build Coastguard Worker %vecext = extractelement <2 x i32> %a, i32 1 24*9880d681SAndroid Build Coastguard Worker ret i32 %vecext 25*9880d681SAndroid Build Coastguard Worker} 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Workerdefine i64 @f4(<2 x i64> %a) { 28*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f4: 29*9880d681SAndroid Build Coastguard Worker; CHECK: mov.d x0, v0[1] 30*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret 31*9880d681SAndroid Build Coastguard Worker %vecext = extractelement <2 x i64> %a, i32 1 32*9880d681SAndroid Build Coastguard Worker ret i64 %vecext 33*9880d681SAndroid Build Coastguard Worker} 34