1 ; Test f32 and v4f32 square root on z14. 2 ; 3 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z14 | FileCheck %s 4 5 declare float @llvm.sqrt.f32(float) 6 declare <4 x float> @llvm.sqrt.v4f32(<4 x float>) 7 8 define <4 x float> @f1(<4 x float> %val) { 9 ; CHECK-LABEL: f1: 10 ; CHECK: vfsqsb %v24, %v24 11 ; CHECK: br %r14 12 %ret = call <4 x float> @llvm.sqrt.v4f32(<4 x float> %val) 13 ret <4 x float> %ret 14 } 15 16 define float @f2(<4 x float> %val) { 17 ; CHECK-LABEL: f2: 18 ; CHECK: wfsqsb %f0, %v24 19 ; CHECK: br %r14 20 %scalar = extractelement <4 x float> %val, i32 0 21 %ret = call float @llvm.sqrt.f32(float %scalar) 22 ret float %ret 23 } 24