1*9880d681SAndroid Build Coastguard Worker; Test 32-bit ANDs in which the second operand is variable. 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; Check that there are no spills. 6*9880d681SAndroid Build Coastguard Workerdefine void @f1(<16 x i32> *%src1, <16 x float> *%dest) { 7*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: f1: 8*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: %r15 9*9880d681SAndroid Build Coastguard Worker; CHECK: br %r14 10*9880d681SAndroid Build Coastguard Worker %val = load <16 x i32> , <16 x i32> *%src1, !tbaa !1 11*9880d681SAndroid Build Coastguard Worker %add = add <16 x i32> %val, %val 12*9880d681SAndroid Build Coastguard Worker %res = bitcast <16 x i32> %add to <16 x float> 13*9880d681SAndroid Build Coastguard Worker store <16 x float> %res, <16 x float> *%dest, !tbaa !2 14*9880d681SAndroid Build Coastguard Worker ret void 15*9880d681SAndroid Build Coastguard Worker} 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker!0 = !{ !"root" } 18*9880d681SAndroid Build Coastguard Worker!1 = !{ !"set1", !0 } 19*9880d681SAndroid Build Coastguard Worker!2 = !{ !"set2", !0 } 20