1*9880d681SAndroid Build Coastguard Worker; Verify that we use the vector ABI datalayout if and only if 2*9880d681SAndroid Build Coastguard Worker; the vector facility is present. 3*9880d681SAndroid Build Coastguard Worker; 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu | \ 5*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 6*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=generic | \ 7*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 8*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z10 | \ 9*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 10*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z196 | \ 11*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 12*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=zEC12 | \ 13*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 14*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | \ 15*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-VECTOR %s 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=vector | \ 18*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-VECTOR %s 19*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=+vector | \ 20*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-VECTOR %s 21*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=-vector,vector | \ 22*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-VECTOR %s 23*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=-vector,+vector | \ 24*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-VECTOR %s 25*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=-vector | \ 26*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 27*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=vector,-vector | \ 28*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 29*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mattr=+vector,-vector | \ 30*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 -mattr=-vector | \ 33*9880d681SAndroid Build Coastguard Worker; RUN: FileCheck -check-prefix=CHECK-NOVECTOR %s 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker%struct.S = type { i8, <2 x i64> } 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workerdefine void @test(%struct.S* %s) nounwind { 38*9880d681SAndroid Build Coastguard Worker; CHECK-VECTOR-LABEL: @test 39*9880d681SAndroid Build Coastguard Worker; CHECK-VECTOR: vl %v0, 8(%r2) 40*9880d681SAndroid Build Coastguard Worker; CHECK-NOVECTOR-LABEL: @test 41*9880d681SAndroid Build Coastguard Worker; CHECK-NOVECTOR-DAG: agsi 16(%r2), 1 42*9880d681SAndroid Build Coastguard Worker; CHECK-NOVECTOR-DAG: agsi 24(%r2), 1 43*9880d681SAndroid Build Coastguard Worker %ptr = getelementptr %struct.S, %struct.S* %s, i64 0, i32 1 44*9880d681SAndroid Build Coastguard Worker %vec = load <2 x i64>, <2 x i64>* %ptr 45*9880d681SAndroid Build Coastguard Worker %add = add <2 x i64> %vec, <i64 1, i64 1> 46*9880d681SAndroid Build Coastguard Worker store <2 x i64> %add, <2 x i64>* %ptr 47*9880d681SAndroid Build Coastguard Worker ret void 48*9880d681SAndroid Build Coastguard Worker} 49*9880d681SAndroid Build Coastguard Worker 50